<?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=Tle</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=Tle"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Tle"/>
	<updated>2026-05-05T19:50:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference:Device_Health_Check&amp;diff=45958</id>
		<title>Reference:Device Health Check</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference:Device_Health_Check&amp;diff=45958"/>
		<updated>2017-02-23T12:15:47Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Finding a CPU Hog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all innovaphone devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: debugging speicherbedarf speichernutzung speicherfehler performance counter trap --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
This article advises how to perform a quick &#039;&#039;health check&#039;&#039; on an innovaphone device.  This may serve as guidance for routine checking of a PBX systems state as well as to start debugging when a device malfunctions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
To perform a device health check, the following steps are recommended&lt;br /&gt;
&lt;br /&gt;
* Inspect the device alarm table&lt;br /&gt;
* Inspect the device event list&lt;br /&gt;
* Inspect performance counters&lt;br /&gt;
* Check volatile memory (RAM) usage&lt;br /&gt;
* Check CPU usage&lt;br /&gt;
* Check persistent memory (Flash) usage&lt;br /&gt;
* Check CF card usage&lt;br /&gt;
* Examine system log&lt;br /&gt;
* Check for efficient PBX configuration&lt;br /&gt;
&lt;br /&gt;
Depending on the device type, some of the steps may or may not apply.&lt;br /&gt;
&lt;br /&gt;
=== The Alarm Table ===&lt;br /&gt;
The systems [[Reference8:Administration/Diagnostics/Alarms|alarm table]] available under &#039;&#039;Administration/Diagnostics/Alarms&#039;&#039; should always be empty.  If there are entries in it, examine them carefully and fix the problem so that the alarms disappears.  The reason for this is pretty simple: if the alarm table is filled with entries that you already have checked but considered &#039;&#039;acceptable&#039;&#039;, then it will not take long until a severe problem will hide itself in between the harmless entries.  So make it a habit that your alarm table is empty always.&lt;br /&gt;
&lt;br /&gt;
The alarms have a &#039;&#039;details page&#039;&#039; available in the &#039;&#039;Code&#039;&#039; columns.  These sometimes show useful further information.  Also, many of the error codes have a dedicated wiki help page, available through the details page &#039;&#039;Help&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
=== The Event List ===&lt;br /&gt;
The systems [[Reference8:Administration/Diagnostics/Events|events list]] available under &#039;&#039;Administration/Diagnostics/Events&#039;&#039; may contain a fair amount of entry types.  As opposed to the alarm table, where the entry is removed when the problem is fixed, entries in the event list are not removed (except the list exceeds its allowable size in which case the oldest entries will be removed).    As a result, your event list will likely rarely be empty.  You need to work through the list and analyse each entry to determine if or if not it is still relevant.  To avoid analysing entries again and again, you can clear the whole list when finished, or (from V8 on), you can declare it as &#039;&#039;already taken care of&#039;&#039; using the &#039;&#039;Mark&#039;&#039; button in the detail page (which will render the entries &#039;&#039;Code&#039;&#039; column in green instead of red).&lt;br /&gt;
&lt;br /&gt;
As for alarms, it is important to take care of problems which frequently create entries in the event list, as otherwise you will most likely overlook severe problems in a crowded event list.&lt;br /&gt;
&lt;br /&gt;
=== The Calls Screen ===&lt;br /&gt;
One important issue is consistently good voice quality. In a life system, you can do a quick check on voice quality simply by looking at the PBX&#039;s [[Reference:Administration/PBX/Calls | Administration/PBX/Calls ]] screen.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Number  Name    Protocol        Media	        Dir     Number  Name    Protocol        Media           Uptime          State	&lt;br /&gt;
13	abc	H323EFC:TRANSIT	G711A (2,0,0) x	&amp;gt;&amp;gt;	001730		H323EFC:TRANSIT	G711A (2,0,0) x	0d 0h 29m 31s 	Connected	SRTP&lt;br /&gt;
0017200		H323EFC:TRANSIT	G711A (46,5,3) 	&amp;gt;&amp;gt;	37	cba	H323EFC:TRANSIT	G711A (39,8,29) 0d 0h 7m 2s 	Connected	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Have an eye on the values within round parentheses in the &#039;&#039;Media&#039;&#039; column, most notably the third &#039;&#039;packet loss&#039;&#039; value.  These should be low, more than 5/minute for &#039;&#039;packet loss&#039;&#039; e.g. is a good reason to be worried (so in our example, the second call is still acceptable but on the lower end of satisfaction). More information about the call screen can be found in [[Howto:How_to_read_the_call_screen | How to read the call screen]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Recent Call Data ====&lt;br /&gt;
While the calls screen is a good tool to see how your calls feel like right now, they do not allow you to review data for terminated calls.  A rule of thumb however says that everything is fine as long as you look at it, but gets worse as soon as your end customers are left alone with the system.  A nice tool to get at past data easily is the internal [[ Reference7:Administration/Gateway/CDR0 | Administration/Gateway/CDR0 ]] CDR logging.  You can save call detail records on your local CF card (using the &amp;lt;code&amp;gt;LOCAL&amp;lt;/code&amp;gt; &#039;&#039;Log Server Type&#039;&#039; which will save them to &amp;lt;code&amp;gt;/DRIVE/CF0/log/CDR*.txt&amp;lt;/code&amp;gt;.  You can open these files with any text editor and although they look a bit strange, you can search straight for entries like &amp;lt;code&amp;gt;&amp;amp;xcoder=G711A,30(0,10,0)&amp;amp;rcoder=G711A,30(0,0,0)&amp;lt;/code&amp;gt;.   The values in parentheses have the same meaning as in the PBX&#039;s calls screen.&lt;br /&gt;
&lt;br /&gt;
=== The Performance Counters ===&lt;br /&gt;
The systems [[Reference8:Administration/Diagnostics/Counters | performance counters ]] available under &#039;&#039;Administration/Diagnostics/Counters&#039;&#039; are another valuable tool to determine its health status.  These are graphs which show the status of  certain resource over the last 24 hours (8 hours are shown, you can scroll through time using the arrow buttons).  Each individual value on the x-axis is a 2-minutes average. Lets have look at the resource counters currently available:&lt;br /&gt;
&lt;br /&gt;
==== CPU ====&lt;br /&gt;
This counter shows the total CPU usage.  A system that runs near to 100% all the time is a candidate for unpleasant behaviour, obviously.  However, running on 100% simply says that things are getting slow.   It does not necessarily say that things don&#039;t work.  But as a rule of life, demand is always increasing, not decreasing, so there are two options in such a situation: &lt;br /&gt;
* be prepared for an upgrade&lt;br /&gt;
* eliminate the reason for excessive CPU usage&lt;br /&gt;
We will discuss in a later section of this article how to determine who the CPU hog is.&lt;br /&gt;
&lt;br /&gt;
We generally recommend to make sure CPU load is not more than two thirds in average.  This of course is just a rule of thumb. You may well run with a system with higher load or you may experience problems with a system with lower load. Still, if your system continuously runs with more than 2/3 of its CPU power, you should ask yourself if this is expected behaviour.  &lt;br /&gt;
&lt;br /&gt;
Also, watch out for unusual peaks.  When you have a system that has a healthy looking CPU load graph, see if there are perhaps thin peaks.  These would indicate short time frames with high load.  They do not look impressive in the graph, still they may create severely bad user experience.  Suppose for example there is a CPU usage pattern which creates 100% CPU load for a minute every once in a while.  This would look like a comfortable 50% value in the 2-minutes graph slice.  The end user though may experience service outages, signalling time-outs, frustrating response times etc. during this period of time.  Such patterns usually look like a sharp &#039;&#039;needle&#039;&#039; in the graph and you should pay attention if you observe such.&lt;br /&gt;
&lt;br /&gt;
==== CPU-R ====&lt;br /&gt;
This counter shows the amount of &#039;&#039;reserved CPU&#039;&#039; time.  As opposed to the CPU counter, this is not CPU load that actually is used, but CPU performance which needs to be reserved for real-time application.  Sending/receiving RTP data is considered real-time, for example.  As opposed to, say HTTP access, where missing CPU performance merely makes things running slower, missing CPU performance for transmission of RTP data results in voice drop-outs and thus is considered a failure.  This is why calls are rejected right away when no CPU performance can be reserved. When your CPU-R counter runs near to 100% often, then your system is overloaded and needs to be upgraded.  Note that real-time apps do not suffer from 100% CPU values though, as the innovaphone operating system features a very efficient real-time prioritization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MEM ====&lt;br /&gt;
This counter shows the total volatile memory (RAM) usage.  Memory usage is in fact more critical than the CPU usage, as a system with low or no CPU resources left will still run, albeit slowly.  A system with no memory resources will stop working and re-boot instead!  It is thus crucial to have an eye on memory usage. You may observe that the memory usage graph usually is flat, that is, the value never decreases and rarely increases, especially once the device ran for a while after a re-boot.  This is because the memory allocation strategy eventually claims memory for a specific purpose if needed, but never de-allocates it further on.  Instead, objects allocated but no longer used are marked as &#039;&#039;free&#039;&#039; and re-used when an object of the same type is needed later on.  The memory allocation graph shows all allocated objects, including those which are used and those which are currently free (as they are not available for use by objects of other types).&lt;br /&gt;
&lt;br /&gt;
If memory usage grows steadily, there is most likely a memory leak somehow.  That is, a function in the device allocates objects and thus claims memory but fails to mark those objects as free when done. If this happens, each function invocation will result in lost memory and the only way to recover from this situation is to re-boot the system.  We will discuss how to track down memory hogs in a later section.&lt;br /&gt;
&lt;br /&gt;
==== PRIx / BRIx ====&lt;br /&gt;
These counters show the number of B-channels used on the respective ISDN interfaces.  Its interpretation should be fairly straight forward.&lt;br /&gt;
&lt;br /&gt;
=== Finding a CPU Hog ===&lt;br /&gt;
In the event that you observe excessive CPU load, you need to find out which function actually consumes it.  Once you have done so, you can either try to re-configure the system so that the causing function is used less, or you can add an extra device and move this function to the new device.  For example, if you find that your PBX runs out of CPU resources because of heavy load on the system&#039;s CF-card, you may want to move the CF card to a different device which has more CPU cycles left.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, you cannot determine which &#039;&#039;function&#039;&#039; takes your CPU cycles away easily.  However, you can determine which &#039;&#039;module&#039;&#039; does.  In our previous example, you won&#039;t be able to determine that it&#039;s excessive config save operations on the CF card that produces the load, but you will be able to determine that its the CF card that does.&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;module&#039;&#039; is a piece of code in the devices firmware that performs a certain task.  You can think of it as a &#039;&#039;thread&#039;&#039; in an operating system such as Windows or Linux.  &#039;&#039;Modules&#039;&#039; are named and you can retrieve a list of modules currently running on your device using the &amp;lt;code&amp;gt;!mod&amp;lt;/code&amp;gt; command.  Assuming your device has the IP address 172.16.0.10, you would open [http://172.16.0.10/!mod http://172.16.0.10/!mod] with your browser.  You will receive a list of modules such as this one:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Debugging_check-list_1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this table, the first column (modules) and the second column (ticks) are of interest.  The second column shows the number of ticks used by the module since the counters were reset the last time.  The system never resets the counters on its own.  They will be reset if you add the &amp;lt;code&amp;gt;clr&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;mod&amp;lt;/code&amp;gt; command ([http://172.16.0.10/!mod+clr http://172.16.0.10/!mod clr]).  A &#039;&#039;tick&#039;&#039; by the way corresponds to some clock-tick found in the devices CPU (platform specific), so be prepared for large values.  &lt;br /&gt;
&lt;br /&gt;
For easier analysis, you may want to import this table into your favourite spread sheet application.  In Microsoft&#039;s Excel (c) for example, you would highlight the whole table, copy it in to your copy&amp;amp;paste buffer, then use &#039;&#039;Inhalte einfügen / Paste Content&#039;&#039; with &#039;&#039;Quelle: Text / Source: Text&#039;&#039; so you get each column in a separate Excel column (you may need to use the &#039;&#039;Import Assistant&#039;&#039; then, later V8 and V9 firmware builds output a more excel friendly table format).  After some cleanup (remove unused columns), your spread sheet should then look something like this: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Device Health Check - mod-cmd-excel-1.png | Excel Import]]&lt;br /&gt;
&lt;br /&gt;
You can then add a column (column D in our example) which relates the number of ticks used by a module to the total number of ticks used (&amp;lt;code&amp;gt;=B96/($D$98)&amp;lt;/code&amp;gt;).  This is the relative load imposed by a certain module.   Finally, sort the table by this column and you get a list of CPU hog candidates:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Device Health Check - mod-cmd-excel-2.png | Excel Analysis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there is no list of &#039;&#039;which module has which name&#039;&#039;, but a look at the module name will give a good indication of what it is.  The typical scenario is that IP0 (the IP stack), ETHx (the ethernet drivers) and H323 (the H.323 signalling stack) will be on top.  If the device is a gateway too, the DSP drivers (AC-DSPx) and SRTP encryption drivers (MV78X00_CRYPT) will be in the top 10 too.  In our example, you can see that the compact flash driver (CFLASH) is also prominent.  Compared to that, the PBX itself - accounting for 2% of the cycles consumed - is a side-note only in our example.  &lt;br /&gt;
&lt;br /&gt;
Be aware that these figures are counted from the last counter reset.  To identify the source of a CPU resource problem, you would wait for the situation to happen (i.e. you would wait for a time the CPU usage is high) and then do the math.  However, you should start the analysis by resetting the counters (&amp;lt;code&amp;gt;!mod clr&amp;lt;/code&amp;gt;), then wait a significant amount of time (half a minute may be a good starter), then get the stats (&amp;lt;code&amp;gt;!mod&amp;lt;/code&amp;gt;) and analyse.  If you fail to reset the counters, your picture will be distorted as it is influenced by previous (and probably unknown) activity.&lt;br /&gt;
&lt;br /&gt;
=== Finding a DRAM Memory Hog ===&lt;br /&gt;
&lt;br /&gt;
The strategy to find a dram memory hog is pretty much similar to the one to find the CPU hog.  However, rather than using the &amp;lt;code&amp;gt;!mod&amp;lt;/code&amp;gt; command, you would use the &amp;lt;code&amp;gt;!mem&amp;lt;/code&amp;gt; ([http://172.16.0.10/!mem http://172.16.0.10/!mem]) command.  The output will look something like this (again, later builds have somewhat different layout, so excel import will be easier):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Total Memory Usage = 1061428&lt;br /&gt;
name                            	 size	 used	 free	  usage&lt;br /&gt;
client_gui_button               	   64	    0	    0	      0&lt;br /&gt;
client_gui_text                 	   64	    0	    0	      0&lt;br /&gt;
client_gui_break                	   60	    0	    0	      0&lt;br /&gt;
client_gui_ruler                	   60	    0	    0	      0&lt;br /&gt;
client_gui_list_element         	   60	    0	    0	      0&lt;br /&gt;
client_gui_list                 	   64	    0	    0	      0&lt;br /&gt;
client_gui_table_cell           	   60	    0	    0	      0&lt;br /&gt;
client_gui_table_row            	   60	    0	    0	      0&lt;br /&gt;
client_gui_table                	   60	    0	    0	      0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The table has a line for each type of internal object (e.g. &amp;lt;code&amp;gt;client_gui_button&amp;lt;/code&amp;gt;).  The &#039;&#039;size&#039;&#039; column gives the size of a single instance, the &#039;&#039;used&#039;&#039; and &#039;&#039;free&#039;&#039; columns the number of allocated objects which are still in use or free for re-use again, while &#039;&#039;usage&#039;&#039; is &amp;lt;code&amp;gt;size * (used + free)&amp;lt;/code&amp;gt;.  So clearly, the &#039;&#039;usage&#039;&#039; column is what you are interested in.   Again, we will do some spread-sheet math.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Device Health Check - mem-cmd-excel-1.png | Excel Analysis]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our example, we relate the values in the &#039;&#039;usage&#039;&#039; column to the total allocatable memory size (column G) and the currently allocated memory (column F).  The table is then sorted by column F, resulting in a list of memory using objects.&lt;br /&gt;
&lt;br /&gt;
As for the modules, there is no &#039;&#039;which object type has which name&#039;&#039; list, but looking at the object names will give some indication on what kind of object it is and which function it may be related to.  The screen-shot was taken from an idle system, this is why column G is all zero.  In a life system, the result may look more like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name	        Size	Used	Free	Sum	% of allocated	%of available&lt;br /&gt;
cmd_exec	376	36	74	41360	1%	        0%&lt;br /&gt;
flashdir_item	120	418	0	50160	1%	        0%&lt;br /&gt;
pbx_connector	508	67	47	57912	2%	        0%&lt;br /&gt;
h323_call	552	67	46	62376	2%	        0%&lt;br /&gt;
gk_map	448	176	1	        79296	2%	        0%&lt;br /&gt;
tcp_socket	408	150	176	133008	4%	        0%&lt;br /&gt;
pbx_user	584	270	0	157680	4%	        0%&lt;br /&gt;
packet	        52	4997	488	285220	8%	        0%&lt;br /&gt;
http_request	5472	33	75	590976	17%	        0%&lt;br /&gt;
buffer	        32	10437	8255	598144	17%	        0%&lt;br /&gt;
ac_491	        122648	6	0	735888	21%	        0%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a rule of thumb, many systems tend to run out of CPU more likely than out of DRAM memory.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;packet&#039;&#039; and &#039;&#039;buffer&#039;&#039; are special, as they do not relate to a specific function.  Whenever the system needs temporary, short lived memory - e.g. to carry a network packet - it will allocate a &#039;&#039;packet&#039;&#039; that carries one or more &#039;&#039;buffers&#039;&#039;.  Peak network load thus will allocate a huge amount of &#039;&#039;packets&#039;&#039; and &#039;&#039;buffers&#039;&#039; which might not be used again but still consume memory.  When the number of &#039;&#039;packets&#039;&#039; or &#039;&#039;buffers&#039;&#039; increases over time, this is most likely an indication of a memory leak.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The bottom of the memory table includes a number of lines as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
allocated:      	   1466608&lt;br /&gt;
free for malloc:	     58580&lt;br /&gt;
total malloc space:	   3149356&lt;br /&gt;
physcial memory:	   8388608&lt;br /&gt;
Total memory usage:	   3090776&lt;br /&gt;
Memory Load:    	        36%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;allocated:&#039;&#039; line is the number of allocated objects.  That is, the sum of the &#039;&#039;usage&#039;&#039; column.  Please note that this include all free objects of a specific type, which can be used for allocation of new objects of this type.  &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;free for malloc:&#039;&#039; line is the amount of memory which can be allocated from.  This will be used whenever an object is needed for which there is no previously allocated but now unused object space (as shown in the &#039;&#039;free&#039;&#039; column).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;total malloc space:&#039;&#039; is the value of &#039;&#039;free for malloc:&#039;&#039; when the system has booted.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Total memory usage:&#039;&#039; is the memory already claimed from the malloc space (that is &#039;&#039;total malloc space:&#039;&#039; minus &#039;&#039;free for malloc&#039;&#039;).  It does &#039;&#039;not&#039;&#039; include static memory use such as decompressed firmware, stack, etc.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Memory Load:&#039;&#039; finally relates the &#039;&#039;Total memory usage:&#039;&#039; to the &#039;&#039;physical memory:&#039;&#039;.  Please note though that the box will run out of memory as soon as &#039;&#039;free for malloc&#039;&#039; goes down to zero!  It might be useful thus to relate &#039;&#039;free for malloc:&#039;&#039; to &#039;&#039;total malloc space:&#039;&#039;, which is exactly what the &#039;&#039;MEM&#039;&#039; counter in &#039;&#039;Administration/Diagnostics&#039;&#039; displays.&lt;br /&gt;
&lt;br /&gt;
==== Obtaining more Information about used Objects ====&lt;br /&gt;
Sometimes, object types - even though their meaning is pretty clear - cannot be related to functions easily.  For example, if you see an entry like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcp_socket                         376    15    64   29704&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it tells you that a number of sockets are used, but not what for.  To see details of an object, some object types support the &amp;lt;code&amp;gt;mem-info&amp;lt;/code&amp;gt; method.  You would look at the detail properties of the objects of a certain type using e.g. &amp;lt;code&amp;gt;http//172.16.0.10/!mem info tcp_socket&amp;lt;/code&amp;gt; ([http://172.16.0.10/!mem+info+tcp_socket http//172.16.0.10/!mem info tcp_socket]).  The result list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   0(c0e09a0c): NAT_LISTEN: ports=0:0, state=0:INIT, ostate=5680, x-q=0, r-q=0&lt;br /&gt;
   1(c0e1073c): PCAP_SOCK_LISTEN: ports=2002:0, state=0:INIT, ostate=0, x-q=0, r-q=0&lt;br /&gt;
   2(c0e17174): HTTP_LISTEN: ports=80:0, state=0:INIT, ostate=0, x-q=0, r-q=0&lt;br /&gt;
   3(c0e173d8): HTTPS_LISTEN: ports=443:0, state=0:INIT, ostate=23130, x-q=0, r-q=0&lt;br /&gt;
   4(c0e181b8): T_USER: ports=23:0, state=0:INIT, ostate=0, x-q=0, r-q=0&lt;br /&gt;
   5(c0e1fcd8): LSRV_SOCK_LISTEN: ports=389:0, state=0:INIT, ostate=0, x-q=0, r-q=0&lt;br /&gt;
   6(c0e718f4): GK-LISTEN: ports=2049:0, state=0:INIT, ostate=-16053, x-q=0, r-q=0&lt;br /&gt;
   7(c0e71b54): GK-LISTEN: ports=2050:0, state=0:INIT, ostate=0, x-q=0, r-q=0&lt;br /&gt;
   8(c0e71e3c): GK-LISTEN: ports=2051:0, state=0:INIT, ostate=0, x-q=0, r-q=0&lt;br /&gt;
   9(c0e72310): GK-LISTEN: ports=2052:0, state=0:INIT, ostate=0, x-q=0, r-q=0&lt;br /&gt;
  10(c0e725f8): GK-LISTEN: ports=2053:0, state=0:INIT, ostate=1950, x-q=0, r-q=0&lt;br /&gt;
  11(c0e728e0): GK-LISTEN: ports=2054:0, state=0:INIT, ostate=-16148, x-q=0, r-q=0&lt;br /&gt;
  12(c0e72bc8): H323_LISTEN: ports=1720:0, state=0:INIT, ostate=-16027, x-q=0, r-q=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
may include some useful hints.  This is particularly useful for the &#039;&#039;packet&#039;&#039; data structure, as it is used by all classes: [http://172.16.0.10/!mem+info+packet http//172.16.0.10/!mem info packet] indicates the packet creator module:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
5717(c1d1d0b8): ETHIF,c0078b38 len=31&lt;br /&gt;
5719(c18197fc): H323_OUT,c0078b38 len=31&lt;br /&gt;
5725(c1cfb864): H323_ACCEPT,c0078b38 len=31&lt;br /&gt;
5728(c1d04670): ETHIF,c0078b38 len=31&lt;br /&gt;
5729(c1d56ac8): HTTP4_REQUEST,c00e228c len=113&lt;br /&gt;
5730(c1f09518): HTTP_SOCKET,c0078b38 len=240&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there is a memory leak, the module causing it can easily be spotted.&lt;br /&gt;
&lt;br /&gt;
==== Buffers ====&lt;br /&gt;
So far we have talked about &#039;&#039;objects&#039;&#039; in the operating system.  However, there are also other users of dynamically allocated memory, the so-called &#039;&#039;buffers&#039;&#039;.  These are used for network packets for example. You can use &amp;lt;code&amp;gt;http://172.16.0.10/!buf&amp;lt;/code&amp;gt; to get a list of used buffers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pool       used    free&lt;br /&gt;
0:   32    4129    2573  375312&lt;br /&gt;
1:   64     319     652   85448&lt;br /&gt;
2:  128     154     218   56544&lt;br /&gt;
3:  256     188      85   76440&lt;br /&gt;
4:  512     155     167  172592&lt;br /&gt;
5: 1024      24       6   31440&lt;br /&gt;
6: 2048       0       1    2072&lt;br /&gt;
7: 4096     120       4  510880&lt;br /&gt;
8: 8192       2       4   49296&lt;br /&gt;
                        1360024&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The second column shows the buffer size (buffers are always allocated in multiple-of-2 sizes).  To see who has allocated the buffers, you can issue &amp;lt;code&amp;gt;http://172.16.0.10/!buf info size&amp;lt;/code&amp;gt; where &#039;&#039;size&#039;&#039; is the one of the valid buffer sizes (32 to 8192).  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://172.16.0.10/!buf info 8192&lt;br /&gt;
15c6e80: c=HTTP4_REQUEST(114988)&lt;br /&gt;
15c4e60: c=HTTP_GET(19838c)&lt;br /&gt;
15e8650: c=HTTP_GET(1983a0)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows that 3 buffers of size 8192 are used and all are somehow related to HTTP GET requests.&lt;br /&gt;
&lt;br /&gt;
=== Finding a Flash Memory Hog ===&lt;br /&gt;
Unfortunately, there is no counter graph for flash memory usage.  Still, there is a statistics page as for CPU and DRAM memory.  It is retrieved using the &amp;lt;code&amp;gt;!mod cmd FLASHMAN0 info&amp;lt;/code&amp;gt; command ([http://172.16.0.10/!mod+cmd+FLASHMAN0+info http://172.16.3.63/!mod cmd FLASHMAN0 info]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bottom 0xfe020000 base 0xfe020000 top 0xfffc0000 segsize 0x20000 segments 253&lt;br /&gt;
LDAP - used 128k avail 92k owned 1152k (max 3200k)&lt;br /&gt;
VARS - used 67k avail 95k owned 256k (max 256k)&lt;br /&gt;
&lt;br /&gt;
  0  0xfe020000 free(0x00) owner MINI(0x09) magic 0x666d order 0x00020031 usage 0x00000001&lt;br /&gt;
...&lt;br /&gt;
  7  0xfe100000 free(0x00) owner FIRM(0x08) magic 0x666d order 0x0002002f usage 0x00000001&lt;br /&gt;
...&lt;br /&gt;
226  0xffc60000 free(0xff) owner 255 (0xff) magic 0xffff order 0xffffffff usage 0xffffffff&lt;br /&gt;
...&lt;br /&gt;
230  0xffce0000 used(0x80) owner VARS(0x06) magic 0x666d order 0x00000008 usage 0x00000001&lt;br /&gt;
231  0xffd00000 used(0x80) owner LDAP(0x04) magic 0x666d order 0x00000009 usage 0x00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This table shows all allocated flash memory segments.  Users include:&lt;br /&gt;
; MINI : the mini (rescue) firmware&lt;br /&gt;
; FIRM : the real firmware&lt;br /&gt;
; VARS : the storage for non-volatile configuration parameters&lt;br /&gt;
; LDAP : the directory storage (holds the PBX object configuration as well as call lists and personal user directories)&lt;br /&gt;
&lt;br /&gt;
Each flash memory user has a fixed maximum quota.  In our example, LDAP has set a maximum of 3200kB of which 1152kB are already claimed. In the current active flash segment (that is, the segment which is used to satisfy subsequent memory requests), 92kB are left for allocation.    For the VARS flash user, all possible segments are claimed already (256kB of 256kB) and 95kB are left for allocation.&lt;br /&gt;
&lt;br /&gt;
==== Wasting Memory by deleting Objects ====&lt;br /&gt;
When PBX objects are deleted, the GUID is kept in flash memory for a while with a note that the object has been deleted.  This looks something like &amp;lt;code&amp;gt;mod cmd FLASHDIR0 add-item 101 (cn=object that will be deleted soon)(isDeleted=true)(guid;bin=3886C5ABE909D3119475009033290009)(usn=18243)&amp;lt;/code&amp;gt;.  Note that this sample entry still takes approximately 110 bytes flash memory.  If you experience lack of flash memory and see lots of such entries, you might want to save the devices config, remove the lines with &amp;lt;code&amp;gt;(isDeleted=true)&amp;lt;/code&amp;gt; and re-load the config to get rid of these entries.  This typically happens when you turn on a new replication for a box that had a large PBX configuration before.  These now obsolete PBX entries will be deleted from the configuration when the replication takes place.&lt;br /&gt;
&lt;br /&gt;
=== Finding a Compact Flash Hog ===&lt;br /&gt;
Compact flash card space can easily be examined using the &#039;&#039;Info&#039;&#039; button available in [[ Reference7:Administration/Diagnostics/CF | Administration/Diagnostics/CF (up to V8) ]] or [[ Reference9:General/Compact-Flash/General | Reference9:General/Compact-Flash/General (from V9) ]].   The CF card&#039;s content can be examined using the &#039;&#039;Browse CF Content&#039;&#039; link on the same page.&lt;br /&gt;
&lt;br /&gt;
=== Using Syslog ===&lt;br /&gt;
Many failures are listed in the &#039;&#039;Alarms&#039;&#039; and &#039;&#039;Events&#039;&#039; sections, as discussed above.  However, some are not.  It is a good habit therefore to take transcript of the systems log messages and browse through them in search of intermittent problems. This can easily be done by storing the syslog on the local CF card (as defined on [[ Reference8:Configuration/General/Logging | Configuration/General/Logging ]]).  It is important to tick the check marks on [[ Reference8:Administration/Diagnostics/Logging | Administration/Diagnostics/Logging ]] in a sensible way in order not to flood the log with useless messages.  As a starter, the following settings are recommended:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Category || recommended setting&lt;br /&gt;
|-&lt;br /&gt;
| TCP	 || off ||&lt;br /&gt;
|-&lt;br /&gt;
| PPP	 || off ||&lt;br /&gt;
|-&lt;br /&gt;
| PBX Calls	 || on ||&lt;br /&gt;
|-&lt;br /&gt;
| Gateway Calls	 || on ||&lt;br /&gt;
|-&lt;br /&gt;
| Gateway Routing	 || off ||&lt;br /&gt;
|-&lt;br /&gt;
| H.323 Registrations	 || on ||&lt;br /&gt;
|-&lt;br /&gt;
| SIP/UDP Registrations	 || off, unless you use SIP endpoints ||&lt;br /&gt;
|-&lt;br /&gt;
| SIP/TCP Registrations	 || off, unless you use SIP endpoints ||&lt;br /&gt;
|-&lt;br /&gt;
| SIP/TLS Registrations	 || off, unless you use SIP endpoints ||&lt;br /&gt;
|-&lt;br /&gt;
| H.323-NAT	 || off ||&lt;br /&gt;
|-&lt;br /&gt;
| Administration	 || off ||&lt;br /&gt;
|-&lt;br /&gt;
| TELx/PRIx/PPP	 || off, unless you use this interface ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Please note that &#039;&#039;Administration&#039;&#039; might be a recommended setting if documentation of changes is an issue to you.&lt;br /&gt;
&lt;br /&gt;
=== Resource sensitive PBX Configuration ===&lt;br /&gt;
Very often, resource issues are caused by inappropriate PBX configuration. Although there are of course a huge number of possibilities to do it wrong, here are a few prominent and easy to avoid things to keep in mind:&lt;br /&gt;
&lt;br /&gt;
* do not use long identifiers.  All PBX identifiers (user names, group names, ...) are stored in clear text in the PBX LDAP directory.  Longer names use more flash space thus.  If you deal with a 100 user PBX, you probably don&#039;t care.  However, if you have 10.000 users structured in groups with a huge amount of members per group, calling a group &amp;lt;code&amp;gt;cti&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;Users with CTI Integration&amp;lt;/code&amp;gt; does make a difference!&lt;br /&gt;
* do not put objects in to groups they do not need to belong to.  You may be tempted to add users to certain groups &#039;&#039;by default&#039;&#039;, thinking that it will make your life easier later on if the group assignment is in fact needed.  However, group assignments not only consume flash space in the PBX&#039;s LDAP directory, but also consume in-core memory during run-time.  Even more, doing so will make it more probably to exceed the maximum size of a single group (which is 2000 members currently).  Having more than the allowed maximum of group members in a single group will result in strange behaviour which is difficult to track down.&lt;br /&gt;
* do not put objects as &#039;&#039;active&#039;&#039; members in to groups when they don&#039;t need to be active.  &#039;&#039;Active&#039;&#039; group memberships consume additional DRAM memory as well as additional CPU cycles during run-time.  &lt;br /&gt;
* do not configure [[Reference7:Administration/PBX/Objects#Object_Properties | group indications ]] when they are not needed.  Group indications will result in additional memory and CPU consumption as well as network traffic.  When group indications are configured, information is distributed to the respective group members regardless of if it is used there or not.  So if no group indication is required, don&#039;t send it!  If it is required, use the smallest group available to send them to.  Do not re-use a group for this purpose just because it exists if it includes more members than required for the group indications.  Rather create a new group and restrict it to the members required.  One particular bad habit is to put all users in a single group, have them all be &#039;&#039;active&#039;&#039; and configure this group as the group used for &#039;&#039;group indications&#039;&#039; for all users.  While this has the beauty that PBX functions which require group indications will always work (which to configure correctly may be a bit tedious sometimes), but it has the downside that each call to any of these users suffers from increased CPU and network load with each added user!&lt;br /&gt;
* do not create objects that aren&#039;t needed.  Each PBX object consumes flash and DRAM memory, even if it is never used.  &lt;br /&gt;
* do not put objects in to the group used by the TAPI service provider which are never monitored anyway.  All activity information for all users in the tapi group is conveyed by the PBX to the TAPI service provider.  If it is never used, this is a waste of resources and adds load both to the PBX and to the machine running the TSP.&lt;br /&gt;
&lt;br /&gt;
=== Monitoring a multi-Device System ===&lt;br /&gt;
If your system consists of more than one relevant device, you may want to configure Alarm, Event and Syslog forwarding (as configured in [[ Reference8:Configuration/General/Logging | Configuration/General/Logging ]]) so you have this information in a single place to review. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Howto:Maximum_number_of_aliases_on_a_GW_interface|Howto:Maximum_number_of_aliases_on_a_GW_interface]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Linux_Application_Platform&amp;diff=45427</id>
		<title>Reference10:Concept Linux Application Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Linux_Application_Platform&amp;diff=45427"/>
		<updated>2017-01-02T09:54:20Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Linux Application Platform (IPxx10 or IPx11 Gateways) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The innovaphone Linux Application Platform permits to install innovaphone or custom applications for certain purposes, like Reporting or a Fax Server.&amp;lt;br&amp;gt;&lt;br /&gt;
It also allows to backup/restore configuration files, uninstall applications or see and backup logs.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Linux distribution Debian 7.1 (Wheezy) is used and linux kernel is 3.4.10 (IPxx10) and 3.2.0.4 (VM)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The architecture of the platform is armel.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use the innovaphone Linux Application Platform:&lt;br /&gt;
&lt;br /&gt;
===On an IPxx10 Gateway===&lt;br /&gt;
* An IP810, IP0010, IP3010 or IP6010 Gateway&lt;br /&gt;
* Firmware Version 10&lt;br /&gt;
* A compact flash card with UDMA support (minimum 8 GB)&lt;br /&gt;
** We recommend SanDisk Extreme with UDMA and 90 MB/s or above&lt;br /&gt;
&lt;br /&gt;
===On an IPx11 Gateway===&lt;br /&gt;
* An IP0011, IP311, IP411, IP811 or IP3011 Gateway&lt;br /&gt;
* Firmware Version 11r2&lt;br /&gt;
* An SSD mSATA&lt;br /&gt;
&lt;br /&gt;
===As a Virtual Machine===&lt;br /&gt;
* VMWare Player/VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
* Minimal Requirements for the Virtual Machine:&lt;br /&gt;
 1vCPU ( we run 800 MHZ CPU on our IPXX10 Gateways, so similar speed or higher it&#039;s enough, nevertheless depending on the operations/load you could need more CPU speed/vCPU)&lt;br /&gt;
 512 MB RAM&lt;br /&gt;
 8GB Disk&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Download the latest Linux Application Platform from [https://download.innovaphone.com download.innovaphone.com ].&amp;lt;br&amp;gt;&lt;br /&gt;
You can download and install two different packages:&lt;br /&gt;
&lt;br /&gt;
===Default Credentials===&lt;br /&gt;
* Web/Webdav: &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
* Root-Login (e.g. with Putty): &#039;&#039;&#039;root&#039;&#039;&#039;/&#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Disk space calculation===&lt;br /&gt;
See [[Reference10:Concept_Reporting#Calculation_of_required_disk_space]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
It is strongly recommended that you try to precalculate the needed disk space and that you choose a suiting disk size.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Disk space usage after first time installation===&lt;br /&gt;
&lt;br /&gt;
====IPxx10/IPx11 Gateways====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 32 MB (fat32 partition with two kernels, which are started by the IPxx10 or IPx11)&lt;br /&gt;
* /dev/sda2: 524 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda3: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda4: 620 MB / xx GB depending of the size of the used CF card (ext4 partition, which is actually booted)&lt;br /&gt;
&lt;br /&gt;
 All in all about 1.3 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 674 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda2: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda3: 767 MB / xx GB depending of your pre installation configuration (ext3 partition, which is actually booted) &lt;br /&gt;
&lt;br /&gt;
 All in all about 1.6 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (IPxx10 or IPx11 Gateways)===&lt;br /&gt;
&lt;br /&gt;
It is recommended to use CF-Cards with sizes of 8GB or more and the card &#039;&#039;&#039;must&#039;&#039;&#039; support UDMA!&amp;lt;br&amp;gt;&lt;br /&gt;
* Enable Linux under Linux General. &lt;br /&gt;
  [[image:IPxx10_Linux_-_enable.png]]&lt;br /&gt;
* Be sure that &amp;quot;Autostart Linux&amp;quot; is disabled until the installation process is finished.&lt;br /&gt;
* You need to enable Proxy-ARP on ETH0 or ETH1 [[ Reference:Configuration/ETH/IP|here ]], so your gateway and the linux appliance will share the same physical interface. Simply go to &#039;&#039;&#039;IP4 &amp;gt; ETH0 (if used) &amp;gt; IP&#039;&#039;&#039; and check &#039;&#039;&#039;Proxy ARP&#039;&#039;&#039;&lt;br /&gt;
* Decompress the downloaded package. You should have an image file like &amp;lt;code&amp;gt;linux_ipxx10_armel.img&amp;lt;/code&amp;gt; now. This works for both &#039;&#039;&#039;IPxx10&#039;&#039;&#039; and &#039;&#039;&#039;IPx11&#039;&#039;&#039; hardware!&lt;br /&gt;
* Upload the decompressed file over the gateways web interface under [[ Reference10:General/Compact-Flash/Image ]] (IPxx10) or [[ Reference12:General/SSD/Image ]] (IPx11). Unmount the CF card/SSD if necessary. Select &amp;quot;Part 1&amp;quot; before starting the upload!&lt;br /&gt;
  [[image:IPxx10_Linux_-_upload_image.jpg]]&lt;br /&gt;
* Reset the box (which also activates the config change of step 1).&lt;br /&gt;
* Configure IP under [[ Reference10:Linux/IP ]]: select either &amp;quot;Disabled&amp;quot; to assign a static IP or ETH0/ETH1 to receive an IP-Address from DHCP-Server behind ETH0 or ETH1.&lt;br /&gt;
* Configure the kernel file, which you find under [[ Reference10:General/Compact-Flash/General#Browse_CF_Content ]] on [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
** IPxx10 hardware: &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;&lt;br /&gt;
** IPx11 hardware: &amp;lt;code&amp;gt;Image-IPx11-4.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Configure &amp;lt;code&amp;gt;root=/dev/sda2&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;.&lt;br /&gt;
* Submit your changes.&lt;br /&gt;
* Click the [[ Reference10:Linux/General ]] &#039;&#039;&#039;Start&#039;&#039;&#039;-Link. The page refreshes until Linux gets an IP and then tries to get a link to the Linux Web Server, which can take some time for the first time installation (~ 5 minutes to 2 hours).&lt;br /&gt;
[[Image:device_conf.jpg]]&lt;br /&gt;
* Open the Linux Web Server to see the installation progress (which might take several minutes too). The default credentials are &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; for both platforms.&lt;br /&gt;
[[Image:installation.jpg]]&lt;br /&gt;
* The output of the installation log is stored on the Linux AP under &amp;lt;code&amp;gt;/var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have no access to the web server but a console or SSH access, you can check the installation progress in this log file. E.g. login to the console with root/iplinux and run follwong command: &amp;lt;code&amp;gt;more /var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have an SSH connection to the Linux AP, you can download this file using [http://winscp.net WinSCP] tool.&lt;br /&gt;
* Enter the innovaphone device IP address (optional port allowed) and admin credentials when the installation has finished. Now wait until the page refrehses. The web server credentials are now the innovaphone device admin credentials, e.g. &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;ip6010&#039;&#039;&#039;.&lt;br /&gt;
** If the device couldn&#039;t be reconfigured, you will get an error message &#039;&#039;&#039;Command line at the PBX could not be changed...&#039;&#039;&#039; In this case, you have to open [[ Reference10:Linux/General ]] on your device, click stop and enter &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;. Then start again. Your Linux webserver credentials will be &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; in this case.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
* You will see now &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] since Linux is running in on the fourth partition. You shouldn&#039;t change that unless you want to install Linux again.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (VMWare)===&lt;br /&gt;
&lt;br /&gt;
* Decompress the downloaded archive. You should have two files: &#039;&#039;&#039;IP-Debian.vmx&#039;&#039;&#039; and &#039;&#039;&#039;IP-Debian.vmdk&#039;&#039;&#039;.&lt;br /&gt;
* We can open using Vmware Player/Workstation, if you wish to run on Vsphere 4.x or later please convert it by the same method it&#039;s done with the IPVA (see [[Reference10:Concept_Innovaphone_Virtual_Appliance#VMware_vSphere | Using VMware vSphere]])&lt;br /&gt;
* Now you have two possibilities (example for VMWare Player, VMWare Workstation should be similar):&lt;br /&gt;
** If you want to assign more than 8 GB virtual flash:&lt;br /&gt;
*** Do &#039;&#039;&#039;not&#039;&#039;&#039; directly start/doubleclick the vmx file!&lt;br /&gt;
*** Start the VMware Player and Open the vmx file with &#039;&#039;&#039;Open a Virtual Machine&#039;&#039;&#039;.&lt;br /&gt;
*** Open &#039;&#039;&#039;Edit virtual machine settings&#039;&#039;&#039;.&lt;br /&gt;
*** Select the hard disk and &#039;&#039;&#039;Expand&#039;&#039;&#039; it under &#039;&#039;&#039;Utilities&#039;&#039;&#039; to the wished size.&lt;br /&gt;
*** Apply the change and klick &#039;&#039;&#039;Play virtual machine&#039;&#039;&#039;.&lt;br /&gt;
** If 8 GB are enough, simply double click the vmx file and Linux will start.&lt;br /&gt;
* The first time, a script will automatically configure a new partition, the web server etc., which will take some time. The waiting time depends on the CPU of the computer running the vmware player. In some cases the waiting time can be up to 30 minutes, in most cases the installation finishes in about 2-5 minutes.&lt;br /&gt;
* In the meantime, fetch your IP from the VMWare Player screen or login as root and get your IP address with the command &#039;&#039;&#039;ifconfig&#039;&#039;&#039;.&lt;br /&gt;
* Login to the web server to see the installation progress (it may take some minutes until the web server is up).&lt;br /&gt;
* Linux will restart automatically after the first time installation has finished.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
&lt;br /&gt;
===Hotfix Installation===&lt;br /&gt;
If you have already installed the latest version of the Linux Application Platform, simply download the Linux...HotfixIncremental for your platform (VM or IPxx10/IPx11) or if you have missed some hotfixes, download the Linux...HotfixCumulative archive, which contains all hotfixes since hotfix1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upload this hotfix archive [[Reference10:Concept_Linux_Application_Platform#Upload.2FUpdate|here]].&lt;br /&gt;
&lt;br /&gt;
====Refreshing issue on installation====&lt;br /&gt;
You might get a PHP error when the browser is refreshing during the installation. Just refresh (F5) the page and you&#039;ll get the installation progress again.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade from a previous major Release ===&lt;br /&gt;
For instructions how to upgrade from a previous major release (such as V9 to V10), see &#039;&#039;Upgrading Linux Application Platform&#039;&#039; in [[Howto:Firmware_Upgrade_V9_V10|Firmware Upgrade V9 V10]].&lt;br /&gt;
&lt;br /&gt;
===Static IP===&lt;br /&gt;
The Linux itself &#039;&#039;&#039;must&#039;&#039;&#039; be running in DHCP client mode to run properly. If you want to assign a static IP address, do it like this:&lt;br /&gt;
&lt;br /&gt;
* On an IPxx10/IPxx11: assign a static IP under [[Reference10:Linux/IP]], this will do an internal DHCP response to the Linux that&#039;s running as DHCP client mode.&lt;br /&gt;
* On a VMWare: assign a static IP in your local DHCP server for your MAC address defined in the *.vmx file.&lt;br /&gt;
&lt;br /&gt;
===IPxx10/IPxx11 Transit network for Linux===&lt;br /&gt;
When running Linux on an innovaphone device IPxx10/IPxx11 there is no dedicated network interface for the Linux machine. Instead we have a special transit network between the Linux and the device. The Linux will always operate as DHCP Client mode.&lt;br /&gt;
&lt;br /&gt;
Any ARP request done by the Linux machine will always get the same ARP result that will be the internal &amp;quot;NIC&amp;quot; inside the device, so all packets are always sent to the same IPxx10/IPxx11 device that works as a router. When the packet sent by the Linux machine arrives the innovaphone device, it will follow the IP routing table of the device itself.&lt;br /&gt;
&lt;br /&gt;
In case we have a single network (voice) we will have no problem since the default gateway is just one. However, if we wish to split into two networks (voice and data) and the Linux machine should have a different default gateway, this has no effect since IP routing is based on the innovaphone device IP routing table, because we can&#039;t have two default gateways at the same time.&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
====Configure IP====&lt;br /&gt;
&lt;br /&gt;
The IP configuration on the Linux Application Platform is &#039;&#039;&#039;only&#039;&#039;&#039; available on a &#039;&#039;&#039;VM&#039;&#039;&#039;! A static IP for a Linux Application Platform for an IPxx10/IPxx11 can be configured on your gateway under Linux/IP.&lt;br /&gt;
&lt;br /&gt;
* Mode: either DHCP Client or Static&lt;br /&gt;
* [IP Address]: the desired static IP address&lt;br /&gt;
* [Subnet Mask]&lt;br /&gt;
* [Gateway]&lt;br /&gt;
* [DNS Server]&lt;br /&gt;
* [Alternate DNS Server]&lt;br /&gt;
&lt;br /&gt;
The optional parameters in [] can be only configured, if &#039;&#039;&#039;Static&#039;&#039;&#039; is selected as mode.&lt;br /&gt;
&lt;br /&gt;
====Change the root credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials of the Linux root user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configure Authenticated URLs====&lt;br /&gt;
&lt;br /&gt;
Configure credentials for authenticated URLs. These credentials will be used in automatic backups.&amp;lt;br&amp;gt;&lt;br /&gt;
You can add/remove Urls with the &#039;&#039;&#039;+&#039;&#039;&#039; and &#039;&#039;&#039;-&#039;&#039;&#039; at the right side of the list.&lt;br /&gt;
&lt;br /&gt;
* URL: the URL, e.g. https://172.16.123.123/backup&lt;br /&gt;
* User: the user for this URL&lt;br /&gt;
* Password: the password for this URL&lt;br /&gt;
&lt;br /&gt;
====Configure NTP server====&lt;br /&gt;
&lt;br /&gt;
Configures a NTP server.&lt;br /&gt;
&lt;br /&gt;
* NTP Server: the IP of the NTP Server&lt;br /&gt;
&lt;br /&gt;
====Change Timezone====&lt;br /&gt;
&lt;br /&gt;
Default is Europe/Berlin but you can change that to a valid timezone (an error is given if timezone not present).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Change postgresql admin password====&lt;br /&gt;
&lt;br /&gt;
If innovaphone Reporting is installed, you can configure another password for the postgres admin user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;postgres&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Web Server===&lt;br /&gt;
&lt;br /&gt;
We use lighttpd version 1.4.32. The linux web server user is &#039;&#039;&#039;www-data&#039;&#039;&#039; and group user also &#039;&#039;&#039;www-data&#039;&#039;&#039;. Root directory for the web-server is &#039;&#039;&#039;/var/www/innovaphone&#039;&#039;&#039;. This information is mainly relevant if you plan to develope custom applications and integrate them into linux application platform.&lt;br /&gt;
&lt;br /&gt;
Default users and password for the different levels on the Linux application plattform (see figure below):&lt;br /&gt;
[[image:Linux_Application_hierarki.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Change web server properties and public access to the web/webdav====&lt;br /&gt;
* Force HTTPS: enables redirection for HTTP to HTTPS&lt;br /&gt;
* Public Web Paths: these paths are not password protected, e.g. &#039;/ap&#039;&lt;br /&gt;
* Public Webdav Paths: these webdav paths are not password protected, e.g. &#039;/backup&#039;&lt;br /&gt;
** These paths are by default readonly. You can set the &#039;Write&#039; flag to make the path also writable. This flag will be anyway ignored if credentials are provided.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;IPadr&amp;gt;&#039;&#039;&amp;lt;code&amp;gt;/webdav/&amp;lt;/code&amp;gt; is the root directory for webdav files. If you want to access a directory/file without credentials you have to add this directory to the Public Webdav Paths.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;/webdav/background/&amp;lt;/code&amp;gt; Here you have the background pictures for your Phones.&amp;lt;br&amp;gt;&lt;br /&gt;
Public Webdav Paths: &amp;lt;code&amp;gt;/background&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/background/a&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Now you have a public access to the folder background. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enter a single &#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039; for a public root directory. All sub directories and files will be also public then.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update/&amp;lt;/code&amp;gt;&#039;, the directory &#039;update&#039; and all sub directories/files will be public.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;&#039;, only the directory &#039;update&#039; and its files will be public.&lt;br /&gt;
&lt;br /&gt;
Important: Linux file names are case sensitive (so &amp;lt;code&amp;gt;/Update&amp;lt;/code&amp;gt; is not equal &amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;)!.&lt;br /&gt;
&lt;br /&gt;
====Change the Linux web server credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for Web Server access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change the Linux webdav access credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for webdav access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change application access credentials====&lt;br /&gt;
&lt;br /&gt;
If you have installed an application, which has the lighttpd-auth property set in its configuration file, you can configure a separate user/password for the applications web site.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to disable the separate authentication, leave the &#039;&#039;&#039;user&#039;&#039;&#039; field empty and enter the currently configured password. The authentication will be the same as the root web server authentication afterwards.&amp;lt;br&amp;gt;&lt;br /&gt;
One can just login on the application web site with this access.&lt;br /&gt;
&lt;br /&gt;
A configured access overrides a configured public web path to &#039;/apps/application-name&#039;!&lt;br /&gt;
&lt;br /&gt;
====Configure mutual TLS====&lt;br /&gt;
&lt;br /&gt;
If you need mutual TLS for innovaphone devices with a certificate signed by innovaphone, you can activate mutual TLS for a configurable &#039;&#039;&#039;port&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently we&#039;re just supporting client certificates signed by innovaphone&#039;s &#039;&#039;innovaphone Device Certification Authority&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The physical mutual TLS path is &#039;&#039;&#039;/var/www/innovaphone/mtls&#039;&#039;&#039;. Here you can put your script files, e.g. mtls.php.&amp;lt;br&amp;gt;&lt;br /&gt;
You then call this script file by &#039;&#039;&#039;https://linux-ip:mtls-port/mtls.php&#039;&#039;&#039;, as this path is the document root for the configured port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to upload the script:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Using a webdav client (like NetDrive) upload the script to the webdav folder.&lt;br /&gt;
Afterwards connect with Putty to the linux.&lt;br /&gt;
&lt;br /&gt;
The uploaded file is under /var/www/innovaphone/webdav and we must move it to /var/www/innovaphone/mtls&lt;br /&gt;
&lt;br /&gt;
===Certificates===&lt;br /&gt;
&lt;br /&gt;
The current server certificate installed on the web server is shown here. A self signed certificate, innovaphone-linux, is installed by default. It is recommended to change it with your own certificate.&lt;br /&gt;
&lt;br /&gt;
It is also possible to trust or reject other certificates.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Currently the LAP doesn&#039;t support the upload of a password protected certificate. As a workaround it is possible to convert the certificate with OpenSSL (on windows or Linux) to PEM format without password and upload this one.&lt;br /&gt;
&lt;br /&gt;
With the following openssl command, the password protected certificate can be changed into an unprotected certificate. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl pkcs12 -in&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithPasswort&#039;&#039; &amp;lt;code&amp;gt;-out&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithoutPasswort&#039;&#039;.pem &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The unprotected certificate should be deleted directly after upload for security reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to create a private, unsigned certificate you can do this with the following commands on the Linux AP CLI.&lt;br /&gt;
It is best to go in a folder which can be reached via http later as &amp;lt;code&amp;gt;/var/www/innovaphone/webdav/...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days xxxx (insert number)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt; if you don&#039;t want to protect your private key with a passphrase.&lt;br /&gt;
&lt;br /&gt;
You now will be asked for certificate information.&lt;br /&gt;
&lt;br /&gt;
To merge the certificate and key you can enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat cert.pem &amp;gt;&amp;gt; key.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file key.pem can now be uploaded via the web interface of the Linux AP.&lt;br /&gt;
&lt;br /&gt;
===Backup===&lt;br /&gt;
&lt;br /&gt;
The web server can be configured to poll a Command File URL (on a web server).&amp;lt;br&amp;gt;&lt;br /&gt;
The backup process is similar to [[Reference10:Services/Update]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alarm server can be also configured to receive alarms during an automatic backup: [[ #Alarm_Server | Alarm Server under Diagnostics ]].&lt;br /&gt;
&lt;br /&gt;
At the bottom you will see a list of the current automatic backup serials from the Command File URL and the log of the last automatic backups.&lt;br /&gt;
&lt;br /&gt;
[[Image:backup_restore.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Command File====&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 saveinnovaphonecfgs http://172.16.123.123/webdav/backup/cfgs-#i-#b10.tar.gz&lt;br /&gt;
&lt;br /&gt;
The available default commands are:&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonecfgs=====&lt;br /&gt;
&lt;br /&gt;
Saves all neccessary configuration files (no application specific files) as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonelogs=====&lt;br /&gt;
&lt;br /&gt;
Saves all available (also application related) log files as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====times=====&lt;br /&gt;
Executes the following command(s) only, if the specified time matches and only once per hour (independent of poll timeout value).&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# both commands always executed&lt;br /&gt;
saveinnovaphonelogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-logs-#i-#m-#b10.tar.gz&lt;br /&gt;
saveinnovaphonecfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-cfg-#i-#m-#b10.tar.gz&lt;br /&gt;
# commands only from monday till saturday at 10am and 11am executed. &lt;br /&gt;
times day:1,2,3,4,5 hour:10,11 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
# commands only Saturdays and Sundays at 00am executed. &lt;br /&gt;
times day:6,7 hour:00 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* day goes from 1 (Monday) to 7 (Sunday).&amp;lt;br&amp;gt;&lt;br /&gt;
* hour goes from 00 to 23.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can specify multiple times commands to override the last one.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Backup file name macros=====&lt;br /&gt;
&lt;br /&gt;
You can use some macros for the backup filename:&lt;br /&gt;
&lt;br /&gt;
* #i - will be replaced with the current IP address&lt;br /&gt;
* #m - will be replaced with the current MAC address&lt;br /&gt;
* #d - will be replaced with date/time in format Ymd-His (20110231-111010)&lt;br /&gt;
* #bxx - will be replaced with the current backup index, whilst xx is the maximum index&lt;br /&gt;
&lt;br /&gt;
====Save configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to see all available files/data/logs to download them manually.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be saved!&lt;br /&gt;
&lt;br /&gt;
====Restore configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to restore all available files/data.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be restored!&lt;br /&gt;
&lt;br /&gt;
===Relay Hosts===&lt;br /&gt;
&lt;br /&gt;
The Application Platform contains a mail client which speaks SMTP. &lt;br /&gt;
The SMTP daemon (postfix) looks up by default the DNS MX record of the recipient email address.&amp;lt;br&amp;gt;&lt;br /&gt;
Relay SMTP hosts can also be configured to deliver the mails. Each relay host is related to a &#039;&#039;&#039;sender&#039;&#039;&#039; mail address or a &#039;&#039;&#039;sender&#039;&#039;&#039; mail domain. TLS is used if the host supports it.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of the server entry:&lt;br /&gt;
; mydomain.com: MX record to the domain&lt;br /&gt;
; smtphost: host name with MX record lookup&lt;br /&gt;
; [gateway.example.com]: host name with DNS lookup&lt;br /&gt;
; [an.ip.add.ress]: IP address without DNS lookup&lt;br /&gt;
The form [hostname] turns off MX lookups. See also [http://www.postfix.org/postconf.5.html#relayhost the postfix documentation].&amp;lt;br&amp;gt;&lt;br /&gt;
If anonymous SMTP is to be used, user and password must be left empty.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:relay_hosts.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Important to use &amp;quot;[]&amp;quot; like the picture.&lt;br /&gt;
&lt;br /&gt;
Currently innovaphone Reporting and innovaphone Faxserver are using these relay hosts, if entered.&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
&lt;br /&gt;
The innovaphone database is created to store e.g. relay hosts. &lt;br /&gt;
PostgreSQL is also available for other applications and any of them could create its own database. &lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
&lt;br /&gt;
The database user is &#039;&#039;&#039;innovaphone&#039;&#039;&#039; with default password &#039;&#039;&#039;innovaphone&#039;&#039;&#039;. &lt;br /&gt;
This password may be changed here.&lt;br /&gt;
&lt;br /&gt;
====Remote Access====&lt;br /&gt;
&lt;br /&gt;
There are tools (PgAdmin III) that allow to connect to application databases remotely. &lt;br /&gt;
It is first needed to configure the IP you are connecting from here. (Only Single-IP entry it&#039;s allowed, no submask or wildcard for multiple IPs)&lt;br /&gt;
&lt;br /&gt;
For the PgAdmin III it is imporant to use innovaphone as Service-DB (Wartungs-DB). Default login credentials - User: innovaphone - Password: innovaphone&lt;br /&gt;
&lt;br /&gt;
===Announcements===&lt;br /&gt;
&lt;br /&gt;
You can upload a 16bit,8khz,mono wave file, which will be converted to G711U/G711A/G723/G729 .&amp;lt;br&amp;gt;&lt;br /&gt;
The converted files will be stored inside the webdav/announcements folder, e.g. http://172.16.111.111/webdav/announcements/test.g7xx&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you check the &#039;&#039;&#039;Return files as ZIP file&#039;&#039;&#039; flag, you will get a ZIP file, which contains the converted files. These files are not stored locally then! &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For the new Codec G722, OPUS-NB and OPUS-WB you have to use the online converter available on my.innovaphone portal (login necessary first): https://my.innovaphone.com/support.php or on our website https://www.innovaphone.com/en/support/convert.html. No Conversion of new codecs is possible with Linux AP !&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
===List===&lt;br /&gt;
&lt;br /&gt;
A list of all currently installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
If an application has an own web interface, you can reach it by using the application name link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Uninstall====&lt;br /&gt;
Use the uninstall link in the list to uninstall an application.&lt;br /&gt;
&lt;br /&gt;
===Upload/Update===&lt;br /&gt;
&lt;br /&gt;
Here all new applications, application updates and application platform updates are installed.&amp;lt;br&amp;gt;&lt;br /&gt;
After uploading the file, the installation will start automatically and the installation process will be shown. The page refreshes until the installation has finished.&lt;br /&gt;
&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
&lt;br /&gt;
===Logs===&lt;br /&gt;
&lt;br /&gt;
Here you can view, download or clear the available log files from the application platform or from installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also download all log files at once (this archiv also contains older versions from the log files).&lt;br /&gt;
&lt;br /&gt;
===RPCAP===&lt;br /&gt;
&lt;br /&gt;
Enable/disable RPCAP for use with Wireshark.&amp;lt;br&amp;gt;&lt;br /&gt;
A link will be displayed, which you can use within Wireshark.&lt;br /&gt;
&lt;br /&gt;
===Alarm Server===&lt;br /&gt;
&lt;br /&gt;
Configure an innovaphone device as alarm server:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ip&#039;&#039;&#039;: IP address of the innovaphone device&lt;br /&gt;
* [&#039;&#039;&#039;port&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;user&#039;&#039;&#039;]: user for authentication to the alarm server &lt;br /&gt;
* [&#039;&#039;&#039;password&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;https&#039;&#039;&#039;]: use https to send the alarm&lt;br /&gt;
&lt;br /&gt;
Options in &#039;&#039;&#039;[]&#039;&#039;&#039; are optional.&lt;br /&gt;
&lt;br /&gt;
 Alarms from installed applications or the application platform itself will be sent to this configured server.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
View the disk usage.&lt;br /&gt;
&lt;br /&gt;
===Reset===&lt;br /&gt;
====IPxx10====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform. You&#039;ll have to restart it over the IPxx10 gateway.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform or reboot it.&lt;br /&gt;
&lt;br /&gt;
===Status PHP script===&lt;br /&gt;
http://LinuxAP/status.php returns an XML file containing the output from the following linux commands:&amp;lt;br&amp;gt;&lt;br /&gt;
* df -H&lt;br /&gt;
* free -h&lt;br /&gt;
* uptime&lt;br /&gt;
* ps -wwweo pid,lstart,time,etime,pcpu,pmem,rsz,vsz,args&lt;br /&gt;
* ss -A inet -ap&lt;br /&gt;
* top -b -n 1&lt;br /&gt;
&lt;br /&gt;
==Use as Log or Alarm Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as a server for innovaphone logs.&amp;lt;br&amp;gt;&lt;br /&gt;
Configure Local-AP(-s)/Remote-AP(-s) on [[Reference10:Services/Logging]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The following scripts are used to retrieve the logs/alarms:&lt;br /&gt;
* logs: /ap/log.fcgi&lt;br /&gt;
* alarms: /ap/alarm.fcgi&lt;br /&gt;
&lt;br /&gt;
So you can make the path &#039;&#039;&#039;/ap&#039;&#039;&#039; public on the &#039;&#039;Linux Web Server&#039;&#039; or you configure an authenticated URL for these files/this path on your &#039;&#039;innovaphone gateway&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 If you configure an authenticated URL, don&#039;t forget to configure port 80 or port 443 for secure transport (Remote-AP-S) like&lt;br /&gt;
 https://111.111.111.111:443/ap or http://111.111.111.111:80/ap&lt;br /&gt;
&lt;br /&gt;
The log and alarm files will be saved unter http://LAP/webdav/log or /alarm. The files are rotated after 1 MB size and four times, so you&#039;ll have max 5 files.&lt;br /&gt;
&lt;br /&gt;
==Use as File/VM-Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as file server, e.g. for udpate scripts, voicemail etc.&amp;lt;br&amp;gt;&lt;br /&gt;
You can access the server with a webdav client via &#039;&#039;&#039;http(s)://Linux-IP/webdav&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Public access to certain paths etc. can be configured under the [[Reference10:Concept_Linux_Application_Platform#Web_Server | web server configuration]].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the Linux Filesystem(ext3) is case sensetive. The PBX will always search for lowercase letters. If you name your file ‘greetings.G711A’ it won’t be found. You have to name the file ‘greetings.g711a’.&lt;br /&gt;
&lt;br /&gt;
==Enable further Tracing==&lt;br /&gt;
There are different trace options, which can be enabled by calling a certain php script:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://LINUX-IP/trace.php?level=127&lt;br /&gt;
&lt;br /&gt;
The level is calculated by the addition of one or multiple of the following trace options:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 || &#039;&#039;&#039;Option&#039;&#039;&#039; || &#039;&#039;&#039;To add&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_STD || 1&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_DB || 2&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_TIME || 4&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW_TOTAL || 8&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW || 16&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_PARSE_CFG || 32&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_LDAP || 64&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_XML || 128&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So currently all trace options are enabled with the level &#039;&#039;&#039;255&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default trace level are &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
===Creating own applications===&lt;br /&gt;
See [[Reference10:Concept Linux Application]]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
====NetDrive====&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/software/download/netdrive/55134 NetDrive] is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.&lt;br /&gt;
&lt;br /&gt;
====Putty====&lt;br /&gt;
&lt;br /&gt;
[http://www.putty.org/ Putty] is SSH client to connect to the linux application platform.&lt;br /&gt;
&lt;br /&gt;
===Manual Debian Upgrade===&lt;br /&gt;
If you have installed one of our upgrade hotfixes and you had installed packages, which weren&#039;t included in innovaphone applications, the upgrade of some packages might have failed. You will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
The following packages couldn&#039;t be upgraded due to missing dependencies: php5-cgi php5-cli&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have to perfom some actions yourself:&lt;br /&gt;
* make sure, your Linux Application Platform has internet access&lt;br /&gt;
* login with a terminal client like Putty&lt;br /&gt;
* start &#039;apt-get update&#039;&lt;br /&gt;
* start &#039;apt-get install php5-cgi php5-cli&#039; (list the packages of the warning message)&lt;br /&gt;
* delete the file /var/www/innovaphone/log/missing_packages.log to clear the warning message:&lt;br /&gt;
** rm /var/www/innovaphone/log/missing_packages.log&lt;br /&gt;
&lt;br /&gt;
Your installation should be now up to date again.&lt;br /&gt;
&lt;br /&gt;
===Configuring a new Kernel===&lt;br /&gt;
If you have installed a hotfix with a new kernel, you will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
You&#039;re not running the latest kernel Image-6010-3.4.10!&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change to the new kernel, you have to reconfigure something on your device, where the CF card is plugged in.&lt;br /&gt;
* First shutdown your Linux (see [[ Reference10:Concept_Linux_Application_Platform#IPxx10 ]])&lt;br /&gt;
* Stop Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
* Configure the latest kernel file (currently &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;) under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
* Start Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
&lt;br /&gt;
===Alarms of the Application Platform===&lt;br /&gt;
If you have configured an [[ #Alarm_Server | Alarm Server]], you will receive certain alarms.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, the following alarms exist:&lt;br /&gt;
&lt;br /&gt;
* Disk Usage &amp;gt;= 90%&lt;br /&gt;
* read-only mounted partition&lt;br /&gt;
* bad blocks on CF cards&lt;br /&gt;
* Alarms for the innovaphone Reporting Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Exchange Calendar Connector Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Faxserver Application, if installed&lt;br /&gt;
&lt;br /&gt;
===Initially installed packages===&lt;br /&gt;
&lt;br /&gt;
The following packages are already installed without any application:&lt;br /&gt;
&lt;br /&gt;
* adduser&lt;br /&gt;
* apt&lt;br /&gt;
* apt-utils&lt;br /&gt;
* aptitude&lt;br /&gt;
* aptitude-common&lt;br /&gt;
* base-files&lt;br /&gt;
* base-passwd&lt;br /&gt;
* bash&lt;br /&gt;
* binutils&lt;br /&gt;
* bsdmainutils&lt;br /&gt;
* bsdutils&lt;br /&gt;
* bzip2&lt;br /&gt;
* ca-certificates&lt;br /&gt;
* comerr-dev&lt;br /&gt;
* coreutils&lt;br /&gt;
* cpio&lt;br /&gt;
* cpp&lt;br /&gt;
* cpp-4.7&lt;br /&gt;
* cpp-4.6&lt;br /&gt;
* cron&lt;br /&gt;
* curl&lt;br /&gt;
* dash&lt;br /&gt;
* db-util&lt;br /&gt;
* db5.1-util&lt;br /&gt;
* debconf&lt;br /&gt;
* debconf-i18n&lt;br /&gt;
* debian-archive-keyring&lt;br /&gt;
* debianutils&lt;br /&gt;
* diffutils&lt;br /&gt;
* dmidecode&lt;br /&gt;
* dmsetup&lt;br /&gt;
* dos2unix&lt;br /&gt;
* dovecot-common&lt;br /&gt;
* dovecot-core&lt;br /&gt;
* dovecot-pgsql&lt;br /&gt;
* dovecot-pop3d&lt;br /&gt;
* dovecot-sieve&lt;br /&gt;
* dpkg&lt;br /&gt;
* e2fslibs&lt;br /&gt;
* e2fsprogs&lt;br /&gt;
* file&lt;br /&gt;
* findutils&lt;br /&gt;
* gamin&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc-4.7&lt;br /&gt;
* gcc-4.6&lt;br /&gt;
* gcc-4.6-base&lt;br /&gt;
* gcc-4.7-base&lt;br /&gt;
* gettext-base&lt;br /&gt;
* gnupg&lt;br /&gt;
* gpgv&lt;br /&gt;
* grep&lt;br /&gt;
* groff-base&lt;br /&gt;
* grub-common&lt;br /&gt;
* grub-legacy&lt;br /&gt;
* gzip&lt;br /&gt;
* hdparm&lt;br /&gt;
* hostname&lt;br /&gt;
* ifupdown&lt;br /&gt;
* info&lt;br /&gt;
* initramfs-tools&lt;br /&gt;
* initscripts&lt;br /&gt;
* insserv&lt;br /&gt;
* install-info&lt;br /&gt;
* iproute&lt;br /&gt;
* iptables&lt;br /&gt;
* iputils-ping&lt;br /&gt;
* isc-dhcp-client&lt;br /&gt;
* isc-dhcp-common&lt;br /&gt;
* klibc-utils&lt;br /&gt;
* kmod&lt;br /&gt;
* krb5-multidev&lt;br /&gt;
* libacl1&lt;br /&gt;
* libapt-inst1.5&lt;br /&gt;
* libapt-pkg4.12&lt;br /&gt;
* libasprintf0c2&lt;br /&gt;
* libattr1&lt;br /&gt;
* libblkid1&lt;br /&gt;
* libboost-iostreams1.49.0&lt;br /&gt;
* libbsd0&lt;br /&gt;
* libbz2-1.0&lt;br /&gt;
* libbz2-dev&lt;br /&gt;
* libc-bin&lt;br /&gt;
* libc-client2007e&lt;br /&gt;
* libc-dev-bin&lt;br /&gt;
* libc6&lt;br /&gt;
* libc6-dev&lt;br /&gt;
* libcap2&lt;br /&gt;
* libclass-isa-perl&lt;br /&gt;
* libcomerr2&lt;br /&gt;
* libcurl3&lt;br /&gt;
* libcurl4-openssl-dev&lt;br /&gt;
* libcwidget3&lt;br /&gt;
* libdb5.1&lt;br /&gt;
* libdevmapper1.02.1&lt;br /&gt;
* libedit2&lt;br /&gt;
* libept1.4.12&lt;br /&gt;
* libexpat1&lt;br /&gt;
* libfcgi-dev&lt;br /&gt;
* libfcgi0ldbl&lt;br /&gt;
* libffi5&lt;br /&gt;
* libfreetype6&lt;br /&gt;
* libfuse2&lt;br /&gt;
* libgamin-dev&lt;br /&gt;
* libgamin0&lt;br /&gt;
* libgcc1&lt;br /&gt;
* libgcrypt11&lt;br /&gt;
* libgcrypt11-dev&lt;br /&gt;
* libgdbm-dev&lt;br /&gt;
* libgdbm3&lt;br /&gt;
* libglib2.0-0&lt;br /&gt;
* libgmp10&lt;br /&gt;
* libgnutls-dev&lt;br /&gt;
* libgnutls-openssl27&lt;br /&gt;
* libgnutls26&lt;br /&gt;
* libgnutlsxx27&lt;br /&gt;
* libgomp1&lt;br /&gt;
* libgpg-error-dev&lt;br /&gt;
* libgpg-error0&lt;br /&gt;
* libgpgme11&lt;br /&gt;
* libgpm2&lt;br /&gt;
* libgssapi-krb5-2&lt;br /&gt;
* libgssrpc4&lt;br /&gt;
* libidn11&lt;br /&gt;
* libidn11-dev&lt;br /&gt;
* libitm1&lt;br /&gt;
* libk5crypto3&lt;br /&gt;
* libkadm5clnt-mit8&lt;br /&gt;
* libkadm5srv-mit8&lt;br /&gt;
* libkdb5-6&lt;br /&gt;
* libkeyutils1&lt;br /&gt;
* libklibc&lt;br /&gt;
* libkmod2&lt;br /&gt;
* libkrb5-3&lt;br /&gt;
* libkrb5-dev&lt;br /&gt;
* libkrb5support0&lt;br /&gt;
* libldap-2.4-2&lt;br /&gt;
* libldap2-dev&lt;br /&gt;
* liblocale-gettext-perl&lt;br /&gt;
* liblzma5&lt;br /&gt;
* libmagic1&lt;br /&gt;
* libmemcache-dev&lt;br /&gt;
* libmemcache0&lt;br /&gt;
* libmount1&lt;br /&gt;
* libmpc2&lt;br /&gt;
* libmpfr4&lt;br /&gt;
* libmysqlclient18&lt;br /&gt;
* libncurses5&lt;br /&gt;
* libncursesw5&lt;br /&gt;
* libnewt0.52&lt;br /&gt;
* libnfnetlink0&lt;br /&gt;
* libonig2&lt;br /&gt;
* libopts25&lt;br /&gt;
* libp11-kit-dev&lt;br /&gt;
* libp11-kit0&lt;br /&gt;
* libpam-modules&lt;br /&gt;
* libpam-modules-bin&lt;br /&gt;
* libpam-pgsql&lt;br /&gt;
* libpam-runtime&lt;br /&gt;
* libpam0g&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* libparted0debian1&lt;br /&gt;
* libpcre3&lt;br /&gt;
* libpcre3-dev&lt;br /&gt;
* libpcrecpp0&lt;br /&gt;
* libpipeline1&lt;br /&gt;
* libpng12-0&lt;br /&gt;
* libpng12-dev&lt;br /&gt;
* libpopt0&lt;br /&gt;
* libpq-dev&lt;br /&gt;
* libpq5&lt;br /&gt;
* libprocps0&lt;br /&gt;
* libpth20&lt;br /&gt;
* libqdbm14&lt;br /&gt;
* libquadmath0&lt;br /&gt;
* libreadline6&lt;br /&gt;
* librtmp-dev&lt;br /&gt;
* librtmp0&lt;br /&gt;
* libsasl2-2&lt;br /&gt;
* libsasl2-modules&lt;br /&gt;
* libselinux1&lt;br /&gt;
* libsemanage-common&lt;br /&gt;
* libsemanage1&lt;br /&gt;
* libsepol1&lt;br /&gt;
* libsigc++-2.0-0c2a&lt;br /&gt;
* libslang2&lt;br /&gt;
* libsqlite3-0&lt;br /&gt;
* libsqlite3-dev&lt;br /&gt;
* libss2&lt;br /&gt;
* libssh2-1&lt;br /&gt;
* libssh2-1-dev&lt;br /&gt;
* libssl-dev&lt;br /&gt;
* libssl1.0.0&lt;br /&gt;
* libstdc++6&lt;br /&gt;
* libtasn1-3&lt;br /&gt;
* libtasn1-3-dev&lt;br /&gt;
* libtext-charwidth-perl&lt;br /&gt;
* libtext-iconv-perl&lt;br /&gt;
* libtext-wrapi18n-perl&lt;br /&gt;
* libtinfo5&lt;br /&gt;
* libtokyocabinet9&lt;br /&gt;
* libudev0&lt;br /&gt;
* libusb-0.1-4&lt;br /&gt;
* libustr-1.0-1&lt;br /&gt;
* libuuid-perl&lt;br /&gt;
* libuuid1&lt;br /&gt;
* libwrap0&lt;br /&gt;
* libxapian22&lt;br /&gt;
* libxml2&lt;br /&gt;
* libxml2-dev&lt;br /&gt;
* libxml2-utils&lt;br /&gt;
* linux-base&lt;br /&gt;
* linux-image-3.2.0-4-686-pae&lt;br /&gt;
* linux-libc-dev&lt;br /&gt;
* locales&lt;br /&gt;
* login&lt;br /&gt;
* logrotate&lt;br /&gt;
* lsb-base&lt;br /&gt;
* lsb-release&lt;br /&gt;
* make&lt;br /&gt;
* makedev&lt;br /&gt;
* man-db&lt;br /&gt;
* manpages&lt;br /&gt;
* manpages-dev&lt;br /&gt;
* mawk&lt;br /&gt;
* mime-support&lt;br /&gt;
* mlock&lt;br /&gt;
* module-init-tools&lt;br /&gt;
* mount&lt;br /&gt;
* multiarch-support&lt;br /&gt;
* mysql-common&lt;br /&gt;
* nano&lt;br /&gt;
* ncurses-base&lt;br /&gt;
* ncurses-bin&lt;br /&gt;
* net-tools&lt;br /&gt;
* netbase&lt;br /&gt;
* netcat-traditional&lt;br /&gt;
* ntp&lt;br /&gt;
* ntpdate&lt;br /&gt;
* openssh-client&lt;br /&gt;
* openssh-server&lt;br /&gt;
* openssl&lt;br /&gt;
* parted&lt;br /&gt;
* passwd&lt;br /&gt;
* patch&lt;br /&gt;
* perl-base&lt;br /&gt;
* php-pear&lt;br /&gt;
* php-xml-parser&lt;br /&gt;
* php-xml-serializer&lt;br /&gt;
* php5-cgi&lt;br /&gt;
* php5-cli&lt;br /&gt;
* php5-common&lt;br /&gt;
* php5-curl&lt;br /&gt;
* php5-imap&lt;br /&gt;
* php5-pgsql&lt;br /&gt;
* php5-xcache&lt;br /&gt;
* pkg-config&lt;br /&gt;
* postfix&lt;br /&gt;
* postfix-pcre&lt;br /&gt;
* postfix-pgsql&lt;br /&gt;
* postgresql-9.1&lt;br /&gt;
* postgresql-client-9.1&lt;br /&gt;
* postgresql-client-common&lt;br /&gt;
* postgresql-common&lt;br /&gt;
* procps&lt;br /&gt;
* psmisc&lt;br /&gt;
* python&lt;br /&gt;
* python-minimal&lt;br /&gt;
* python2.7&lt;br /&gt;
* python2.7-minimal&lt;br /&gt;
* rdate&lt;br /&gt;
* readline-common&lt;br /&gt;
* rsyslog&lt;br /&gt;
* sasl2-bin&lt;br /&gt;
* sed&lt;br /&gt;
* sensible-utils&lt;br /&gt;
* shared-mime-info&lt;br /&gt;
* ssh&lt;br /&gt;
* ssl-cert&lt;br /&gt;
* sudo&lt;br /&gt;
* sysv-rc&lt;br /&gt;
* sysvinit&lt;br /&gt;
* sysvinit-utils&lt;br /&gt;
* tar&lt;br /&gt;
* tasksel&lt;br /&gt;
* tasksel-data&lt;br /&gt;
* traceroute&lt;br /&gt;
* tzdata&lt;br /&gt;
* ucf&lt;br /&gt;
* udev&lt;br /&gt;
* util-linux&lt;br /&gt;
* uuid-dev&lt;br /&gt;
* vim&lt;br /&gt;
* vim-common&lt;br /&gt;
* vim-runtime&lt;br /&gt;
* vim-tiny&lt;br /&gt;
* wget&lt;br /&gt;
* whiptail&lt;br /&gt;
* xz-utils&lt;br /&gt;
* zlib1g&lt;br /&gt;
* zlib1g-dev&lt;br /&gt;
* lighttpd-mod-webdav&lt;br /&gt;
* lighttpd&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
=== Do not update Debian Packages ===&lt;br /&gt;
The Linux application platform comes with the tested set of required Debian packages.  &#039;&#039;It is not recommended to do a manual update of those packages&#039;&#039; (or the kernel itself).  We have seen situations where updated packages had been changed in a non-downward compatible fashion - resulting in the applications running on the Linux application platform not working properly an more!&lt;br /&gt;
&lt;br /&gt;
===Separate authentication for innovaphone applications===&lt;br /&gt;
If you configured a separate authentication, it depends on the used browser, whether you have to re-authenticate on switching between the root web and the innovaphone application web access or not.&lt;br /&gt;
&lt;br /&gt;
===Refreshing issue on hotfix installation===&lt;br /&gt;
[[ Reference10:Concept_Linux_Application_Platform#Refreshing_issue_on_installation | See here. ]]&lt;br /&gt;
&lt;br /&gt;
===Kernel Update in VM Platform===&lt;br /&gt;
The installation of a new kernel fails and this process leaves the system unstable, not being able to install any more debian packages. Hotfix installations will probably fail.&lt;br /&gt;
&lt;br /&gt;
===Outdated packages? Debian Upgrade?===&lt;br /&gt;
From time to time we will deliver upgraded debian packages with a new hotfix. As we have to insure compatibility with our applications, we won&#039;t perform an upgrade for each hotfix!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please do &#039;&#039;&#039;not&#039;&#039;&#039; perform an update/upgrade yourself, as this will break future hotfix/application releases. Sometimes we deliver debian packages in our hotfixes and dependencies might be broken if you update/upgrade yourself.&lt;br /&gt;
&lt;br /&gt;
====I want to do it anyway!!!====&lt;br /&gt;
Ok, save your application/ap configuration and data files and install our latest &#039;&#039;&#039;FULL&#039;&#039;&#039; release without any hotfix. Restore the configuration/data files and perform your update/upgrade. Now you can be happy, if everything still works fine...&amp;lt;br&amp;gt;&lt;br /&gt;
Perform these steps for each new hotfix release, as you might not be able to apply a new hotfix.&lt;br /&gt;
&lt;br /&gt;
==How To==&lt;br /&gt;
===Reset webserver/webdav passwords===&lt;br /&gt;
In case you have lost your webserver or webdav password, but you still have the root credentials, you can login with SSH and execute the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;admin:Linux Web Server:c33c4d3f554367d5d1c3c9bf36803024&amp;quot; &amp;gt; /home/lighttpd/lighttpd_htdigest.user&lt;br /&gt;
echo &amp;quot;admin:Linux Webdav:7182e328a0531dd2d44d225f36da6b87&amp;quot; &amp;gt; /home/lighttpd/webdav_htdigest.user&lt;br /&gt;
/etc/init.d/lighttpd restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you can access your webserver/webdav with &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 The same can be done for application specific passwords, e.g. Reporting. &lt;br /&gt;
 In this case, use the file &#039;&#039;&#039;/home/lighttpd/innovaphone-reporting-htdigest.user&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===Installation process failed===&lt;br /&gt;
&lt;br /&gt;
When the installation process stuck either because it doesn&#039;t get IP or services are not refresh/finished there is some additional information we could get from the Compact Flash that could help us understanding what is failing and if necessary open a support ticket and include this information in the ticket to innovaphone.&lt;br /&gt;
&lt;br /&gt;
*  Stop the linux and check General-&amp;gt;Compact Flash &amp;quot;Browse files&amp;quot;. All files in there might be helpfull (all but the kernel, of course).&lt;br /&gt;
*  Start the linux and check if you can connect to the configured/expected IP address via Putty after ~1 minute.&lt;br /&gt;
&lt;br /&gt;
Note: The file /var/log/init_install.log might help us to get a clue of the failure.&lt;br /&gt;
&lt;br /&gt;
===Howto save and restore Linux AP data/database if the webgui is not available===&lt;br /&gt;
&lt;br /&gt;
If the linux ap webgui is not reachable a common reason is that the harddisc is full.&lt;br /&gt;
If a full hd is the case, maybe your first thought is to increase the harddisc.&lt;br /&gt;
It could be a solution but there are some traps to increase the partition in linux which can be ended in complete data loss&lt;br /&gt;
&lt;br /&gt;
The fastest way to get linux ap working with a new harddsik size is to install a new one.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How can you save the data without get access over the webgui?&#039;&#039;&#039;&lt;br /&gt;
If you can reach linux via putty it could be possible :)&lt;br /&gt;
&lt;br /&gt;
Here are some possibilities how to do that over the shell:&lt;br /&gt;
&#039;&#039;&#039;(But keep in the back of you head that you are working as root and therefore typing errors can lead to undesirable behaviours!)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Delete at first all the logfiles. Sometimes a few MByte are enough to get all the stopped services running again and you could reach liunx over the webgui.&lt;br /&gt;
i.e. the reporting logfiles are under &amp;quot;&#039;&#039;/var/www/innovaphone/apps/innovaphone-reporting/log&#039;&#039;&amp;quot;, the fax server logfiles are under &lt;br /&gt;
&amp;quot;&#039;&#039;/var/www/innovaphone/apps/innovaphone-faxserver/log&#039;&#039;&amp;quot;&lt;br /&gt;
-&amp;gt; &#039;&#039;&#039;Don&#039;t delete the &#039;log&#039; directory itself!&#039;&#039;&#039; Delete only the content:&lt;br /&gt;
&lt;br /&gt;
   root@vmware-debian: cd /var/www/innovaphone/apps/innovaphone-reporting/log/&lt;br /&gt;
   root@vmware-debian: rm *&lt;br /&gt;
&lt;br /&gt;
Is the linux ap after a restart running and over http reachable, download all the config and databases and restore them on the new linux ap (2.2).&lt;br /&gt;
&lt;br /&gt;
[[image:save.png]]&lt;br /&gt;
&lt;br /&gt;
2. In case the reason for the unreachable webgui was not a full harddisk you can save the config/database (only reporting and exchange connector at the moment) &lt;br /&gt;
over the shell.&lt;br /&gt;
&lt;br /&gt;
  root@vmware-debian:/# cd /home/postgres/&lt;br /&gt;
  &#039;&#039;for reporting type:&#039;&#039;&lt;br /&gt;
  root@vmware-debian:/# sudo -u postgres /usr/bin/pg_dump --encoding=utf8 --schema=public -Fc -U postgres innovaphone-reporting | gzip -fc6 &amp;gt; innovaphone-reporting-db.gz&lt;br /&gt;
&lt;br /&gt;
  root@vmware-debian:/# cd /home/postgres/&lt;br /&gt;
  &#039;&#039;for exchange connector type:&#039;&#039;&lt;br /&gt;
  root@vmware-debian:/# sudo -u postgres /usr/bin/pg_dump --encoding=utf8 --schema=public -Fc -U postgres innovaphone-exchange | gzip -fc6 &amp;gt; innovaphone-exchange-db.gz&lt;br /&gt;
&lt;br /&gt;
2.1 Access linux with winscp &#039;&#039;&#039;(protocol: scp / user: root)&#039;&#039;&#039; and download the .gz (don&#039;t unzip)&lt;br /&gt;
&lt;br /&gt;
[[image:reporting.png]]&lt;br /&gt;
&lt;br /&gt;
(BTW: you can &#039;&#039;&#039;download&#039;&#039;&#039; with &#039;&#039;&#039;scp&#039;&#039;&#039; also the complete webdav files. But for the &#039;&#039;&#039;upload&#039;&#039;&#039; use as user &#039;admin&#039; and as protocol &amp;quot;&#039;&#039;&#039;webdav&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
Otherwise the owner is still root and this ends in authorization problems)&lt;br /&gt;
&lt;br /&gt;
[[image:webdav.png]]&lt;br /&gt;
&lt;br /&gt;
2.2. on the new linux ap upload this .gz&lt;br /&gt;
&lt;br /&gt;
[[image:restore.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. The steps mentoined above should be only the last try to get the data and could work or not.&lt;br /&gt;
To be always on the save site use a standby linux (for reporting), save configs (update server) and delete (automatic) old cdr&#039;s to avoid a full hd.&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Linux Application Platform]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Exchange_Calendar_Connector&amp;diff=44958</id>
		<title>Reference10:Concept Exchange Calendar Connector</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Exchange_Calendar_Connector&amp;diff=44958"/>
		<updated>2016-11-23T15:31:32Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Wireshark trace without SSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Usage==&lt;br /&gt;
&lt;br /&gt;
You can use the innovaphone Exchange Calendar Connector application to set the presence of a PBX user according to the Outlook calendar of the user.&amp;lt;br&amp;gt;&lt;br /&gt;
If the user has e.g. a meeting, the presence will be set to &#039;&#039;&#039;busy&#039;&#039;&#039; and the presence note to the subject of the calendar item (see [[ #Presence_Note_and_Activity | Presence Note and Activity]]).&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
===innovaphone PBX===&lt;br /&gt;
The PBX must be V10 or higher.&lt;br /&gt;
&lt;br /&gt;
===innovaphone Linux Application Platform===&lt;br /&gt;
&lt;br /&gt;
It is needed to have the [[Reference9:Concept_Linux_Application_Platform|application platform]] installed and running with Hotfix13. {{FIXME|reason=required hotfix will change on release}}&lt;br /&gt;
&lt;br /&gt;
===Microsoft Exchange Server===&lt;br /&gt;
&lt;br /&gt;
The innovaphone Exchange Calendar Connector application supports the Microsoft Exchange Server 2010 SP1, SP2 and SP3, 2013 and Office 365!&lt;br /&gt;
&lt;br /&gt;
====Enabled Windows Authentication====&lt;br /&gt;
&lt;br /&gt;
As we use &#039;&#039;&#039;NTLM&#039;&#039;&#039; for authentication towards the Exchange Server, you&#039;ll have to enable the Windows Authentication in your IIS of the Exchange Server on the folder &#039;&#039;&#039;EWS&#039;&#039;&#039;: http://technet.microsoft.com/en-us/library/cc754628%28v=ws.10%29.aspx &amp;lt;br&amp;gt;&lt;br /&gt;
If you right click on the Windows Authentication entry, you can select &amp;quot;Providers&amp;quot;. Make sure, that the NTLM provider is active here!&amp;lt;br&amp;gt;&lt;br /&gt;
The Anonymous Authentication must be also active, just for the &#039;&#039;&#039;IUSR&#039;&#039;&#039;, not everybody!&lt;br /&gt;
&lt;br /&gt;
==== Basic Authentication ====&lt;br /&gt;
The Exchange Calendar Connector now also support Basic authentication since v10 sr11. If you disable HTTPS (just needed for debugging) towards the Exchange server, your password will be insecure!&lt;br /&gt;
&lt;br /&gt;
This feature was introduced to support Office 365 since it uses Basic authentication and doesn&#039;t support NTML Authentication.&lt;br /&gt;
&lt;br /&gt;
 If your Exchange Server supports Basic authentication, you may have to add your domain to your configured user name, like &#039;&#039;&#039;domain\user&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Office 365 ====&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to configure innovaphone Exchange Connector with Office 365 solution more information at: [[Howto:Microsoft_Office_365_Recommended_Product_Testreport | Office 365 Testreport]]&lt;br /&gt;
&lt;br /&gt;
===Outlook / Permissions===&lt;br /&gt;
&lt;br /&gt;
Each Outlook user has to grant read access to the calendar user, which is configured under [[#Exchange | Exchange]] in the &#039;&#039;&#039;Account&#039;&#039;&#039; property.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open the Outlook options, go to Calendar in the left menu and open the &amp;quot;Free/... options&amp;quot; (Frei/Gebucht-Optionen in german).&lt;br /&gt;
There you have to add new permissions for the calendar user. You can select the predefined selection &#039;&#039;&#039;Reviewer&#039;&#039;&#039; (Prüfer):&lt;br /&gt;
* no writing rights&lt;br /&gt;
* read &#039;&#039;&#039;Full Details&#039;&#039;&#039; (needed to establish a subscription, otherwise it won&#039;t work!)&lt;br /&gt;
* no delete items permission&lt;br /&gt;
* &#039;&#039;&#039;Folder visible&#039;&#039;&#039; under Other&lt;br /&gt;
&lt;br /&gt;
Alternative setup will be add the user, which is configured under [[#Exchange | Exchange]] in the &#039;&#039;&#039;Account&#039;&#039;&#039; property, to a Group in AD and also include all other users/members that wish to share their calender to this group then you do the step described before but you add the &amp;quot;Group&amp;quot; to each user/member in outlook instead of the calender user used in the &amp;quot;Account&amp;quot; property.&lt;br /&gt;
&lt;br /&gt;
It is also possible to grant permissions using Exchange Management Shell (grant permissions to to User &#039;&#039;innoconnector&#039;&#039; rights to see calendar of User &#039;&#039;user.alias&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 Add-MailboxFolderPermission -Identity user.alias:\calendar -User innoconnector -Accessrights Reviewer&lt;br /&gt;
 http://technet.microsoft.com/en-en/library/dd298062%28v=exchg.140%29.aspx&lt;br /&gt;
&lt;br /&gt;
 You may have to localise the name of the calendar folder, e.g. calendar -&amp;gt; Kalender (german)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; &lt;br /&gt;
A possible alternative to configure settings above via the Outlook Client is to use PowerShell Scripts. Here is an [http://social.technet.microsoft.com/Forums/en-US/7fc1edfe-0a80-4bf2-b6f8-9875fd0d4017/add-calendar-shares-to-all-office-365-user-subscriptions?forum=winserverpowershell solution example].&lt;br /&gt;
This was not tested by innovaphone. If this is not OK or doesn&#039;t work for you, then you should configured like recommended above using the Outlook Client.&lt;br /&gt;
&lt;br /&gt;
===Email Addresses===&lt;br /&gt;
The Exchange Calendar Connector needs the SMTP address of an exchange user. Therefor the &#039;&#039;&#039;E-Mail&#039;&#039;&#039; field of a PBX user object is used and each email address is tried to be resolved to the SMTP address.&amp;lt;br&amp;gt;&lt;br /&gt;
If your system name of your PBX has the &#039;&#039;&#039;Use as domain&#039;&#039;&#039; option checked, the &#039;&#039;&#039;h323&#039;&#039;&#039; name is also tried with &#039;&#039;&#039;h323@systemname&#039;&#039;&#039; and this is also done with further configured aliases of the &#039;&#039;&#039;E-Mail&#039;&#039;&#039; field, which have no domain.&lt;br /&gt;
&lt;br /&gt;
So you may have the following Exchange User with multiple email addresses:&lt;br /&gt;
* test@innovaphone.com&lt;br /&gt;
* test@innovaphone.de&lt;br /&gt;
* Test.Tester@innovaphone.com (primary SMTP address)&lt;br /&gt;
&lt;br /&gt;
The PBX (system name &#039;&#039;&#039;innovaphone.com&#039;&#039;&#039; with &#039;&#039;&#039;Use as domain&#039;&#039;&#039;) user object:&lt;br /&gt;
* h323 &#039;&#039;&#039;test&#039;&#039;&#039; (used with system name -&amp;gt; &#039;&#039;&#039;test@innovaphone.com&#039;&#039;&#039;)&lt;br /&gt;
* E-Mail &#039;&#039;&#039;test@innovaphone.de&#039;&#039;&#039; (this would also work without &#039;&#039;&#039;Use as domain&#039;&#039;&#039;)&lt;br /&gt;
* E-Mail &#039;&#039;&#039;Test.Tester&#039;&#039;&#039; (used with system name -&amp;gt; &#039;&#039;&#039;Test.Tester@innovaphone.com&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
All three possibilities are successfully resolved, as each email address exists for an Exchange User.&lt;br /&gt;
&lt;br /&gt;
 A user object with no H323 name will be always ignored!&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Download the latest version of innovaphone Exchange Calendar Connector.&lt;br /&gt;
&lt;br /&gt;
Log into the application platform, go to the Applications tag, click on [[ Reference9:Concept_Linux_Application_Platform#Upload.2FUpdate|Upload/Update]] and upload the downloaded file. &lt;br /&gt;
The installation will start automatically and the page will refresh every two seconds showing the installation process. &lt;br /&gt;
If there is no error during the installation you will see at the end &amp;quot;Installation was succesfull&amp;quot;. Otherwise,&lt;br /&gt;
you will get &amp;quot;installation failed&amp;quot; and the reason why it went wrong.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Hotfix===&lt;br /&gt;
If you have already installed the latest version of the exchange application, simply download the Exchange...HotfixIncremental for your platform (VM or IPxx10) or if you have missed some hotfixes, download the Exchange...HotfixCumulative archive, which contains all hotfixes since hotfix1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upload this hotfix archive [[Reference9:Concept_Linux_Application_Platform#Upload.2FUpdate|here]].&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
===Device===&lt;br /&gt;
&lt;br /&gt;
See [[ #Email_Addresses | Email Addresses]].&lt;br /&gt;
&lt;br /&gt;
===Servers===&lt;br /&gt;
You can configure multiple PBX/Exchange pairs on one Linux Application Platform.&amp;lt;br&amp;gt;&lt;br /&gt;
There are three steps to configure on server:&lt;br /&gt;
&lt;br /&gt;
====Server====&lt;br /&gt;
[[Image:exchange_server.jpg]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Name&#039;&#039;&#039;: a name for a PBX/Exchange pair, which you can choose yourself&lt;br /&gt;
* &#039;&#039;&#039;Description&#039;&#039;&#039;: a description&lt;br /&gt;
* &#039;&#039;&#039;Calendar Note Language&#039;&#039;&#039;: strings like &#039;&#039;&#039;Away&#039;&#039;&#039; and &#039;&#039;&#039;Free until&#039;&#039;&#039; are translated into this language&lt;br /&gt;
* &#039;&#039;&#039;Presence Update Interval&#039;&#039;&#039;: the interval, in which the calender presence will be updated inside the pbx and PBX user objects are tracked &lt;br /&gt;
* &#039;&#039;&#039;Trace&#039;&#039;&#039;: enable/disable tracing&lt;br /&gt;
&lt;br /&gt;
====PBX====&lt;br /&gt;
&lt;br /&gt;
[[Image:exchange_pbx.jpg]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;IP Address&#039;&#039;&#039;: the IP address of your PBX&lt;br /&gt;
* &#039;&#039;&#039;Port&#039;&#039;&#039;: the HTTP(s) port of your PBX&lt;br /&gt;
* &#039;&#039;&#039;Account&#039;&#039;&#039;: the account, which reads the users from the PBX via SOAP, must have at least the right &amp;quot;Viewer&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Password&#039;&#039;&#039;: password for the account&lt;br /&gt;
* &#039;&#039;&#039;Dyn-PBX-ID&#039;&#039;&#039;: for a Dynamic PBX&lt;br /&gt;
* &#039;&#039;&#039;HTTPS&#039;&#039;&#039;: use HTTPS for the communication with the PBX&lt;br /&gt;
* &#039;&#039;&#039;Domain Filter&#039;&#039;&#039;: Optionally enter a comma separated list of domains. PBX users without a matching email address are ignored.&lt;br /&gt;
&lt;br /&gt;
====Exchange====&lt;br /&gt;
&lt;br /&gt;
[[Image:exchange_ews.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Server&#039;&#039;&#039;: the IP address or DNS name of your Microsoft Exchange Server&lt;br /&gt;
* &#039;&#039;&#039;Account&#039;&#039;&#039;: the exchange user account, which has &#039;&#039;&#039;sufficiant access&#039;&#039;&#039; to the user calendars, which shall be monitored (see [[#Outlook|Outlook]] for how to grant these permissions). The account also needs to have a mailbox configured inside the Exchange server.&lt;br /&gt;
* &#039;&#039;&#039;Password&#039;&#039;&#039;: the password of the user&lt;br /&gt;
* &#039;&#039;&#039;Omit Subject&#039;&#039;&#039;: Omits the subject of a calendar entry from the presence note (presence status itself will be transmitted). Moreover, presentation of any presence on phone upon alert can be activated generally - see [[Reference10:PBX/Config/General#Common | PBX Config General : Presence with Alert]]&lt;br /&gt;
* &#039;&#039;&#039;Omit Date and Time in presence note&#039;&#039;&#039;: Omits the date and time inside the presence note.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status Frequency&#039;&#039;&#039; (minutes): the subscriptions of user calendars are kept alive by dummy events, which are sent by the Exchange Server in this frequency&lt;br /&gt;
* &#039;&#039;&#039;Availability Timespan&#039;&#039;&#039; (hours): the timespan for which calendar items are retrieved&lt;br /&gt;
* &#039;&#039;&#039;Email(s)&#039;&#039;&#039;: See [[ #Tentative_calendar_items | Tentative calendar items]]&lt;br /&gt;
* &#039;&#039;&#039;Exchange Version&#039;&#039;&#039;: SP1 or SP2 of the Microsoft Exchange Server 2010 or Microsoft Exchange Server 2013. For Microsoft Exchange Server 2010 SP3 please use the setting 2010 SP2.&lt;br /&gt;
* &#039;&#039;&#039;Use HTTPS&#039;&#039;&#039;: If set, the Exchange Server uses HTTPS to communicate with the Linux AP (HTTP connections from Exchange Server to Linux AP, ie: updates for calender entries)&lt;br /&gt;
** see [[#Use HTTPs for Exchange Notifications]]&lt;br /&gt;
* &#039;&#039;&#039;Linux DNS Name (optional)&#039;&#039;&#039;: You can optionally set the DNS name of your Linux AP, which will be used by the Exchange server for HTTP requests.&lt;br /&gt;
* &#039;&#039;&#039;Linux NAT IP&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Linux NAT Port&#039;&#039;&#039;: If your Linux AP is behind a NAT router in the view of your Exchange server, you have to configure a reachable Linux IP/Linux Port. This IP address has to be reachable from inside your Exchange server!&lt;br /&gt;
&lt;br /&gt;
=====Connection Test=====&lt;br /&gt;
The connection test just tests the SOAP connection towards the Exchange Server. The SOAP connection from the Exchange Server to the Linux AP is not tested!&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
&lt;br /&gt;
The exchange application creates the innovaphone-exchange database to store users from the PBX.&lt;br /&gt;
PostgreSQL is also available for other applications and any of them could create its own database. &lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
&lt;br /&gt;
The exchange application creates the database user &#039;&#039;&#039;innovaphone-exchange&#039;&#039;&#039; with default password &#039;&#039;&#039;exchange&#039;&#039;&#039;. &lt;br /&gt;
This password may be changed at the innovaphone Exchange Calendar Connector page under Config/Database.&lt;br /&gt;
&lt;br /&gt;
====Remote Access====&lt;br /&gt;
&lt;br /&gt;
There are tools (PgAdmin III) that allow to connect to application databases remotely. &lt;br /&gt;
It is first needed to configure the IP you are connecting from under Config/Database at the innovaphone Exchange Calendar Connector page.&lt;br /&gt;
&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
===Logs===&lt;br /&gt;
Download/View logs of the innovaphone Exchange Calendar Connector application.&lt;br /&gt;
&lt;br /&gt;
===Exchange Database===&lt;br /&gt;
Select either &#039;&#039;&#039;All Servers&#039;&#039;&#039; or a specific server to list users or calendar items.&lt;br /&gt;
&lt;br /&gt;
====List users====&lt;br /&gt;
List all monitored users and their current subscription state.&lt;br /&gt;
&lt;br /&gt;
====List calendar items====&lt;br /&gt;
List all retrieved calendar items.&lt;br /&gt;
&lt;br /&gt;
Note about &amp;quot;PBX Status&amp;quot; values:&lt;br /&gt;
&lt;br /&gt;
 Status 0: unsignaled towards PBX&lt;br /&gt;
 Status 1: signaled with note but without activity (Free until...)&lt;br /&gt;
 Status 2: signaled with note and activity (Busy until)&lt;br /&gt;
 Status 3: note and activity removed&lt;br /&gt;
&lt;br /&gt;
==Backup and Restore==&lt;br /&gt;
&lt;br /&gt;
You can both manually and automatically backup the database and configuration files for the exchange application under [[Reference9:Concept_Linux_Application_Platform#Backup|Administration/Backup]] in the application platform.&lt;br /&gt;
&lt;br /&gt;
Configuration details for the update server can be found [[Reference9:Concept_Linux_Application_Platform#Backup|here]].&lt;br /&gt;
&lt;br /&gt;
===Configuration Files===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-exchangecfgs&#039;&#039;&#039; is the command used to automatically save configuration files with the [[Reference9:Concept_Linux_Application_Platform#Command_File|Command File]].&lt;br /&gt;
&lt;br /&gt;
===Data===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-exchangedb&#039;&#039;&#039; is the command to automatically backup the whole innovaphone Exchange Calendar Connector database with the [[Reference9:Concept_Linux_Application_Platform#Command_File|Command File]].&lt;br /&gt;
&lt;br /&gt;
 As the database contains your server configuration, a backup might be usefull!&lt;br /&gt;
&lt;br /&gt;
===Logs===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-exchangelogs&#039;&#039;&#039; to save log files with the [[Reference9:Concept_Linux_Application_Platform#Command_File|Command File]].&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
&lt;br /&gt;
===How it works===&lt;br /&gt;
&lt;br /&gt;
For each server the following steps are done after the configured interval (some steps only once):&lt;br /&gt;
* All users from the PBX are retrieved via SOAP&lt;br /&gt;
* The primary SMTP address inside the Microsoft Exchange Server is retrieved for all users with a &#039;&#039;&#039;valid&#039;&#039;&#039; h323 name or E-Mail field&lt;br /&gt;
* A subscription for calendar events is established toward the Microsoft Exchange Server for all users with a primary SMTP address via SOAP [[ Reference9:Concept_Exchange#Microsoft_Exchange_Web_Services | EWS ]] with the configured user who has read access to the calendars of the other users&lt;br /&gt;
* The calendar items for the next e.g. 36 hours are retrieved for each new user (this step is only done once or if a new calendar event is received with the established subscription)&lt;br /&gt;
* The presence is set according to the calendar items of a user&lt;br /&gt;
* The established subscriptions monitor all changes inside the users calendars&lt;br /&gt;
* After the configured interval, the PBX users are compared to the already existing ones and if needed added/removed/renamed etc.&lt;br /&gt;
&lt;br /&gt;
 The first time after you have successfully configured the PBX and the Exchange Server, all user subscriptions are established and all calendar items are retrieved.&lt;br /&gt;
 This may take some minutes, according to the user count.&lt;br /&gt;
&lt;br /&gt;
===Presence Note and Activity===&lt;br /&gt;
&lt;br /&gt;
The settings of a calendar item determine the presence activity and note.&amp;lt;br&amp;gt;&lt;br /&gt;
A calendar item is ignored, if its &#039;&#039;&#039;busy type&#039;&#039;&#039; is &#039;&#039;&#039;free&#039;&#039;&#039; or &#039;&#039;&#039;tentative&#039;&#039;&#039; (see [[ #Tentative_calendar_items | Tentative calendar items]]).&amp;lt;br&amp;gt;&lt;br /&gt;
The subject of a calendar item is ignored, if the calendar item is &#039;&#039;&#039;private&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 The activity is only set, if the calendar item has already started!&lt;br /&gt;
 Otherwise just the note is set. If just the note is set, the merged presence, received by the PBX, &lt;br /&gt;
 will prefer presences with an activity. If there is no presence with an activity, the note is shown e.g. on the phone/in myPBX.&lt;br /&gt;
&lt;br /&gt;
An all-day calendar item is e.g. from 25/05/2013 00:00 until 26/05/2013 00:00 and it&#039;s also displayed.&lt;br /&gt;
&lt;br /&gt;
====Tentative calendar items====&lt;br /&gt;
&lt;br /&gt;
A tentative calendar item is neither free nor away, so it is ignored by default.&amp;lt;br&amp;gt;&lt;br /&gt;
But if the organizer of a calendar item is one of the configurable email addresses, the item is treated as away!&lt;br /&gt;
&lt;br /&gt;
====Activity====&lt;br /&gt;
The activity is set accordingly to the busy type of a calendar item:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 || &#039;&#039;&#039;Calendar Item Busy Type&#039;&#039;&#039; || &#039;&#039;&#039;Presence Activity&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
 || Free || &#039;&#039;ignored&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
 || Tentative || &#039;&#039;ignored&#039;&#039; or Away&lt;br /&gt;
|-&lt;br /&gt;
 || Busy || Busy&lt;br /&gt;
|-&lt;br /&gt;
 || Out of office || Away&lt;br /&gt;
|-&lt;br /&gt;
 || Working Elsewhere || Away&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Note====&lt;br /&gt;
&#039;&#039;The note of a not yet started calendar item contains the following parts:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* the string &#039;&#039;&#039;Free until&#039;&#039;&#039;&lt;br /&gt;
* the date if the start date of the calendar item is not today&lt;br /&gt;
* the start time (Hours:Minutes) (if Hours:Minutes is &#039;00:00&#039; and the decreased date is not today, the time is cut and the date decreased by one day instead)&lt;br /&gt;
* the string &#039;&#039;&#039;Away&#039;&#039;&#039; if the activity is &#039;&#039;away&#039;&#039;&lt;br /&gt;
* the subject of the calendar item or if the calendar item is private, the string &#039;&#039;&#039;Private&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
 Free until 28.07.2012 12:20 (Away: Vacation)&lt;br /&gt;
 Free until 28.07.2012 12:20 (Meeting with boss)&lt;br /&gt;
 Free until 12:20 (Away: Meeting with customer)&lt;br /&gt;
 Free until 12:20 (Away: Private)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The note of an already started calendar item:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* the subject of the calendar item or if the calendar item is private, the string &#039;&#039;&#039;Private&#039;&#039;&#039;&lt;br /&gt;
* the string &#039;&#039;&#039;until&#039;&#039;&#039;&lt;br /&gt;
* the date if the end date of the calendar item is not today&lt;br /&gt;
* the end time (Hours:Minutes) (if Hours:Minutes is &#039;00:00&#039; and the decreased date is not today, the time is cut and the date decreased by one day instead)&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
 Vacation until 23.12.2012&lt;br /&gt;
 Meeting until 23.12.2012 12:45&lt;br /&gt;
&lt;br /&gt;
===Microsoft Exchange Web Services===&lt;br /&gt;
For communication with the Microsoft Exchange Server, its [http://msdn.microsoft.com/en-us/library/exchange/bb204119%28v=exchg.140%29.aspx Exchange Web Services] are used.&lt;br /&gt;
&lt;br /&gt;
===Installed Debian Packages===&lt;br /&gt;
&lt;br /&gt;
The following packages (and their dependencies) are installed with the innovaphone Exchange Calendar Connector:&lt;br /&gt;
&lt;br /&gt;
* php5-mcrypt&lt;br /&gt;
&lt;br /&gt;
===Configuration Files===&lt;br /&gt;
&lt;br /&gt;
* pg_hba.conf is the client authentication configuration file and controls which hosts are allowed to connect, how clients are authenticated, which PostgreSQL user names they can use and which databases they can access.&lt;br /&gt;
* postgresql.conf is the PostgreSQL configuration file&lt;br /&gt;
* exchange.conf contains one configuration option&lt;br /&gt;
&lt;br /&gt;
===Data Files===&lt;br /&gt;
&lt;br /&gt;
If you backup the innovaphone Exchange Calendar Connector database, you&#039;ll get a gz archiv, which contains the whole innovaphone-exchange database.&lt;br /&gt;
&lt;br /&gt;
===Database Structure===&lt;br /&gt;
&lt;br /&gt;
====servers====&lt;br /&gt;
&lt;br /&gt;
The configured servers.&lt;br /&gt;
&lt;br /&gt;
====users====&lt;br /&gt;
&lt;br /&gt;
Users retrieved from the configured PBX.&lt;br /&gt;
&lt;br /&gt;
====calendar_items====&lt;br /&gt;
&lt;br /&gt;
Calendar items for the users retrieved from the Microsoft Exchange Server.&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
====NetDrive====&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/software/download/netdrive/55134 NetDrive] is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.&lt;br /&gt;
&lt;br /&gt;
====PGAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://www.pgadmin.org/ PGAdmin] is an administration tool for PostgreSQL databases.&lt;br /&gt;
&lt;br /&gt;
====Putty====&lt;br /&gt;
&lt;br /&gt;
[http://www.putty.org/ Putty] is SSH client to connect to the linux application platform.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&lt;br /&gt;
===Use HTTPs for Exchange Notifications===&lt;br /&gt;
If you have to use HTTPs for Exchange Notifications, your Linux AP needs to have a &#039;&#039;&#039;signed&#039;&#039;&#039; certificate which contains the &#039;&#039;&#039;IP address&#039;&#039;&#039; of your Linux AP!&amp;lt;br&amp;gt;&lt;br /&gt;
You also have to trust the root certificate of your signed certificate on your Exchange Server. &lt;br /&gt;
&lt;br /&gt;
* certificate of your Linux AP &#039;&#039;&#039;must&#039;&#039;&#039; contain its IP address &lt;br /&gt;
* a signed certificate must be trusted by ensuring that the root certificate is inside the certificate store &amp;quot;trusted root certification authorities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pay attention if you have set the &#039;&#039;&#039;Force HTTPs&#039;&#039;&#039; flag on your Linux AP! In this case requests of the Exchange Server are redirected to a HTTPs location and your Linux AP must meet the conditions from above!&lt;br /&gt;
&lt;br /&gt;
===A user doesn&#039;t get calendar updates after configuration changes===&lt;br /&gt;
The Exchange Calendar Connector establishes a subscription for every user with the exchange server. If such a subscription request fails (e.g. calendar permissions are wrong/not set), the next retry is not done until &#039;&#039;&#039;2 hours&#039;&#039;&#039; later. This has been implemented to reduce the system load for systems with many PBX users, where such a fail is expected.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If an administrator now tries to correct user settings, it might last up to 2 hours until the changes take effect.&amp;lt;br&amp;gt;&lt;br /&gt;
An administrator can still click through the Exchange Calendar Connector configuration to enforce new subscriptions for every user (but this may take much time for the first run).&lt;br /&gt;
&lt;br /&gt;
==Trouble shooting==&lt;br /&gt;
===Wireshark trace without SSL===&lt;br /&gt;
&lt;br /&gt;
You&#039;ll have to temporarily deactivate SSL in your Microsoft Exchange IIS server:&lt;br /&gt;
[[Image:Exchange_iis.jpg]]&lt;br /&gt;
&lt;br /&gt;
Then activate RPCAP on your Linux Application Platform under Diagnostics-&amp;gt;RPCAP. Start a Wireshark-Trace for your Linux IP on both interfaces LO and ETHO.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Walk through your Exchange Connector configuration, add &#039;&#039;&#039;:80&#039;&#039;&#039; to your ip address or dns name of your Exchange Server, e.g. &#039;&#039;&#039;172.16.17.18:80&#039;&#039;&#039; and commit the changes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Save the wireshark trace after about 10 minutes.&lt;br /&gt;
&lt;br /&gt;
 Keep in mind, that with Basic authentication (used with Office 365), your password will be transferred in plain text if you disable SSL!&lt;br /&gt;
&lt;br /&gt;
===Howto save and restore Linux AP data/database if the webgui is not available===&lt;br /&gt;
See [[Reference10:Concept_Linux_Application_Platform#Howto_save_and_restore_Linux_AP_data.2Fdatabase_if_the_webgui_is_not_available|Troubleshooting Linux AP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Exchange Calendar Connector]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=44957</id>
		<title>Reference10:Concept Reporting</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=44957"/>
		<updated>2016-11-23T15:30:25Z</updated>

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

		<summary type="html">&lt;p&gt;Tle: /* TroubleShooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The innovaphone Linux Application Platform permits to install innovaphone or custom applications for certain purposes, like Reporting or a Fax Server.&amp;lt;br&amp;gt;&lt;br /&gt;
It also allows to backup/restore configuration files, uninstall applications or see and backup logs.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Linux distribution Debian 7.1 (Wheezy) is used and linux kernel is 3.4.10 (IPxx10) and 3.2.0.4 (VM)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The architecture of the platform is armel.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use the innovaphone Linux Application Platform:&lt;br /&gt;
&lt;br /&gt;
===On an IPxx10 Gateway===&lt;br /&gt;
* An IP810, IP0010, IP3010 or IP6010 Gateway&lt;br /&gt;
* Firmware Version 10&lt;br /&gt;
* A compact flash card with UDMA support (minimum 8 GB)&lt;br /&gt;
** We recommend SanDisk Extreme with UDMA and 90 MB/s or above&lt;br /&gt;
&lt;br /&gt;
===On an IPx11 Gateway===&lt;br /&gt;
* An IP0011, IP311, IP411, IP811 or IP3011 Gateway&lt;br /&gt;
* Firmware Version 11r2&lt;br /&gt;
* An SSD mSATA&lt;br /&gt;
&lt;br /&gt;
===As a Virtual Machine===&lt;br /&gt;
* VMWare Player/VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
* Minimal Requirements for the Virtual Machine:&lt;br /&gt;
 1vCPU ( we run 800 MHZ CPU on our IPXX10 Gateways, so similar speed or higher it&#039;s enough, nevertheless depending on the operations/load you could need more CPU speed/vCPU)&lt;br /&gt;
 512 MB RAM&lt;br /&gt;
 8GB Disk&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Download the latest Linux Application Platform from [https://download.innovaphone.com download.innovaphone.com ].&amp;lt;br&amp;gt;&lt;br /&gt;
You can download and install two different packages:&lt;br /&gt;
&lt;br /&gt;
===Default Credentials===&lt;br /&gt;
* Web/Webdav: &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
* Root-Login (e.g. with Putty): &#039;&#039;&#039;root&#039;&#039;&#039;/&#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Disk space calculation===&lt;br /&gt;
See [[Reference10:Concept_Reporting#Calculation_of_required_disk_space]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
It is strongly recommended that you try to precalculate the needed disk space and that you choose a suiting disk size.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Disk space usage after first time installation===&lt;br /&gt;
&lt;br /&gt;
====IPxx10/IPx11 Gateways====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 32 MB (fat32 partition with two kernels, which are started by the IPxx10 or IPx11)&lt;br /&gt;
* /dev/sda2: 524 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda3: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda4: 620 MB / xx GB depending of the size of the used CF card (ext4 partition, which is actually booted)&lt;br /&gt;
&lt;br /&gt;
 All in all about 1.3 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 674 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda2: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda3: 767 MB / xx GB depending of your pre installation configuration (ext3 partition, which is actually booted) &lt;br /&gt;
&lt;br /&gt;
 All in all about 1.6 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (IPxx10 or IPx11 Gateways)===&lt;br /&gt;
&lt;br /&gt;
It is recommended to use CF-Cards with sizes of 8GB or more and the card &#039;&#039;&#039;must&#039;&#039;&#039; support UDMA!&amp;lt;br&amp;gt;&lt;br /&gt;
* Enable Linux under Linux General. &lt;br /&gt;
  [[image:IPxx10_Linux_-_enable.png]]&lt;br /&gt;
* Be sure that &amp;quot;Autostart Linux&amp;quot; is disabled until the installation process is finished.&lt;br /&gt;
* You need to enable Proxy-ARP on ETH0 or ETH1 [[ Reference:Configuration/ETH/IP|here ]], so your gateway and the linux appliance will share the same physical interface. Simply go to &#039;&#039;&#039;IP4 &amp;gt; ETH0 (if used) &amp;gt; IP&#039;&#039;&#039; and check &#039;&#039;&#039;Proxy ARP&#039;&#039;&#039;&lt;br /&gt;
* Decompress the downloaded package. You should have an image file like &amp;lt;code&amp;gt;linux_ipxx10_armel.img&amp;lt;/code&amp;gt; now. This works for both &#039;&#039;&#039;IPxx10&#039;&#039;&#039; and &#039;&#039;&#039;IPx11&#039;&#039;&#039; hardware!&lt;br /&gt;
* Upload the decompressed file over the gateways web interface under [[ Reference10:General/Compact-Flash/Image ]] (IPxx10) or [[ Reference12:General/SSD/Image ]] (IPx11). Unmount the CF card/SSD if necessary. Select &amp;quot;Part 1&amp;quot; before starting the upload!&lt;br /&gt;
  [[image:IPxx10_Linux_-_upload_image.jpg]]&lt;br /&gt;
* Reset the box (which also activates the config change of step 1).&lt;br /&gt;
* Configure IP under [[ Reference10:Linux/IP ]]: select either &amp;quot;Disabled&amp;quot; to assign a static IP or ETH0/ETH1 to receive an IP-Address from DHCP-Server behind ETH0 or ETH1.&lt;br /&gt;
* Configure the kernel file, which you find under [[ Reference10:General/Compact-Flash/General#Browse_CF_Content ]] on [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
** IPxx10 hardware: &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;&lt;br /&gt;
** IPx11 hardware: &amp;lt;code&amp;gt;Image-IPx11-4.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Configure &amp;lt;code&amp;gt;root=/dev/sda2&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;.&lt;br /&gt;
* If you want, configure the autostart flag.&lt;br /&gt;
* Submit your changes.&lt;br /&gt;
* Click the [[ Reference10:Linux/General ]] &#039;&#039;&#039;Start&#039;&#039;&#039;-Link. The page refreshes until Linux gets an IP and then tries to get a link to the Linux Web Server, which can take some time for the first time installation (~ 5 minutes to 2 hours).&lt;br /&gt;
[[Image:device_conf.jpg]]&lt;br /&gt;
* Open the Linux Web Server to see the installation progress (which might take several minutes too). The default credentials are &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; for both platforms.&lt;br /&gt;
[[Image:installation.jpg]]&lt;br /&gt;
* The output of the installation log is stored on the Linux AP under &amp;lt;code&amp;gt;/var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have no access to the web server but a console or SSH access, you can check the installation progress in this log file. E.g. login to the console with root/iplinux and run follwong command: &amp;lt;code&amp;gt;more /var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have an SSH connection to the Linux AP, you can download this file using [http://winscp.net WinSCP] tool.&lt;br /&gt;
* Enter the innovaphone device IP address (optional port allowed) and admin credentials when the installation has finished. Now wait until the page refrehses. The web server credentials are now the innovaphone device admin credentials, e.g. &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;ip6010&#039;&#039;&#039;.&lt;br /&gt;
** If the device couldn&#039;t be reconfigured, you will get an error message &#039;&#039;&#039;Command line at the PBX could not be changed...&#039;&#039;&#039; In this case, you have to open [[ Reference10:Linux/General ]] on your device, click stop and enter &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;. Then start again. Your Linux webserver credentials will be &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; in this case.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
* You will see now &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] since Linux is running in on the fourth partition. You shouldn&#039;t change that unless you want to install Linux again.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (VMWare)===&lt;br /&gt;
&lt;br /&gt;
* Decompress the downloaded archive. You should have two files: &#039;&#039;&#039;IP-Debian.vmx&#039;&#039;&#039; and &#039;&#039;&#039;IP-Debian.vmdk&#039;&#039;&#039;.&lt;br /&gt;
* We can open using Vmware Player/Workstation, if you wish to run on Vsphere 4.x or later please convert it by the same method it&#039;s done with the IPVA (see [[Reference10:Concept_Innovaphone_Virtual_Appliance#VMware_vSphere | Using VMware vSphere]])&lt;br /&gt;
* Now you have two possibilities (example for VMWare Player, VMWare Workstation should be similar):&lt;br /&gt;
** If you want to assign more than 8 GB virtual flash:&lt;br /&gt;
*** Do &#039;&#039;&#039;not&#039;&#039;&#039; directly start/doubleclick the vmx file!&lt;br /&gt;
*** Start the VMware Player and Open the vmx file with &#039;&#039;&#039;Open a Virtual Machine&#039;&#039;&#039;.&lt;br /&gt;
*** Open &#039;&#039;&#039;Edit virtual machine settings&#039;&#039;&#039;.&lt;br /&gt;
*** Select the hard disk and &#039;&#039;&#039;Expand&#039;&#039;&#039; it under &#039;&#039;&#039;Utilities&#039;&#039;&#039; to the wished size.&lt;br /&gt;
*** Apply the change and klick &#039;&#039;&#039;Play virtual machine&#039;&#039;&#039;.&lt;br /&gt;
** If 8 GB are enough, simply double click the vmx file and Linux will start.&lt;br /&gt;
* The first time, a script will automatically configure a new partition, the web server etc., which will take some time. The waiting time depends on the CPU of the computer running the vmware player. In some cases the waiting time can be up to 30 minutes, in most cases the installation finishes in about 2-5 minutes.&lt;br /&gt;
* In the meantime, fetch your IP from the VMWare Player screen or login as root and get your IP address with the command &#039;&#039;&#039;ifconfig&#039;&#039;&#039;.&lt;br /&gt;
* Login to the web server to see the installation progress (it may take some minutes until the web server is up).&lt;br /&gt;
* Linux will restart automatically after the first time installation has finished.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
&lt;br /&gt;
===Hotfix Installation===&lt;br /&gt;
If you have already installed the latest version of the Linux Application Platform, simply download the Linux...HotfixIncremental for your platform (VM or IPxx10/IPx11) or if you have missed some hotfixes, download the Linux...HotfixCumulative archive, which contains all hotfixes since hotfix1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upload this hotfix archive [[Reference10:Concept_Linux_Application_Platform#Upload.2FUpdate|here]].&lt;br /&gt;
&lt;br /&gt;
====Refreshing issue on installation====&lt;br /&gt;
You might get a PHP error when the browser is refreshing during the installation. Just refresh (F5) the page and you&#039;ll get the installation progress again.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade from a previous major Release ===&lt;br /&gt;
For instructions how to upgrade from a previous major release (such as V9 to V10), see &#039;&#039;Upgrading Linux Application Platform&#039;&#039; in [[Howto:Firmware_Upgrade_V9_V10|Firmware Upgrade V9 V10]].&lt;br /&gt;
&lt;br /&gt;
===Static IP===&lt;br /&gt;
The Linux itself &#039;&#039;&#039;must&#039;&#039;&#039; be running in DHCP client mode to run properly. If you want to assign a static IP address, do it like this:&lt;br /&gt;
&lt;br /&gt;
* On an IPxx10/IPxx11: assign a static IP under [[Reference10:Linux/IP]], this will do an internal DHCP response to the Linux that&#039;s running as DHCP client mode.&lt;br /&gt;
* On a VMWare: assign a static IP in your local DHCP server for your MAC address defined in the *.vmx file.&lt;br /&gt;
&lt;br /&gt;
===IPxx10/IPxx11 Transit network for Linux===&lt;br /&gt;
When running Linux on an innovaphone device IPxx10/IPxx11 there is no dedicated network interface for the Linux machine. Instead we have a special transit network between the Linux and the device. The Linux will always operate as DHCP Client mode.&lt;br /&gt;
&lt;br /&gt;
Any ARP request done by the Linux machine will always get the same ARP result that will be the internal &amp;quot;NIC&amp;quot; inside the device, so all packets are always sent to the same IPxx10/IPxx11 device that works as a router. When the packet sent by the Linux machine arrives the innovaphone device, it will follow the IP routing table of the device itself.&lt;br /&gt;
&lt;br /&gt;
In case we have a single network (voice) we will have no problem since the default gateway is just one. However, if we wish to split into two networks (voice and data) and the Linux machine should have a different default gateway, this has no effect since IP routing is based on the innovaphone device IP routing table, because we can&#039;t have two default gateways at the same time.&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
====Configure IP====&lt;br /&gt;
&lt;br /&gt;
The IP configuration on the Linux Application Platform is &#039;&#039;&#039;only&#039;&#039;&#039; available on a &#039;&#039;&#039;VM&#039;&#039;&#039;! A static IP for a Linux Application Platform for an IPxx10/IPxx11 can be configured on your gateway under Linux/IP.&lt;br /&gt;
&lt;br /&gt;
* Mode: either DHCP Client or Static&lt;br /&gt;
* [IP Address]: the desired static IP address&lt;br /&gt;
* [Subnet Mask]&lt;br /&gt;
* [Gateway]&lt;br /&gt;
* [DNS Server]&lt;br /&gt;
* [Alternate DNS Server]&lt;br /&gt;
&lt;br /&gt;
The optional parameters in [] can be only configured, if &#039;&#039;&#039;Static&#039;&#039;&#039; is selected as mode.&lt;br /&gt;
&lt;br /&gt;
====Change the root credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials of the Linux root user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configure Authenticated URLs====&lt;br /&gt;
&lt;br /&gt;
Configure credentials for authenticated URLs. These credentials will be used in automatic backups.&amp;lt;br&amp;gt;&lt;br /&gt;
You can add/remove Urls with the &#039;&#039;&#039;+&#039;&#039;&#039; and &#039;&#039;&#039;-&#039;&#039;&#039; at the right side of the list.&lt;br /&gt;
&lt;br /&gt;
* URL: the URL, e.g. https://172.16.123.123/backup&lt;br /&gt;
* User: the user for this URL&lt;br /&gt;
* Password: the password for this URL&lt;br /&gt;
&lt;br /&gt;
====Configure NTP server====&lt;br /&gt;
&lt;br /&gt;
Configures a NTP server.&lt;br /&gt;
&lt;br /&gt;
* NTP Server: the IP of the NTP Server&lt;br /&gt;
&lt;br /&gt;
====Change Timezone====&lt;br /&gt;
&lt;br /&gt;
Default is Europe/Berlin but you can change that to a valid timezone (an error is given if timezone not present).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Change postgresql admin password====&lt;br /&gt;
&lt;br /&gt;
If innovaphone Reporting is installed, you can configure another password for the postgres admin user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;postgres&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Web Server===&lt;br /&gt;
&lt;br /&gt;
We use lighttpd version 1.4.32. The linux web server user is &#039;&#039;&#039;www-data&#039;&#039;&#039; and group user also &#039;&#039;&#039;www-data&#039;&#039;&#039;. Root directory for the web-server is &#039;&#039;&#039;/var/www/innovaphone&#039;&#039;&#039;. This information is mainly relevant if you plan to develope custom applications and integrate them into linux application platform.&lt;br /&gt;
&lt;br /&gt;
Default users and password for the different levels on the Linux application plattform (see figure below):&lt;br /&gt;
[[image:Linux_Application_hierarki.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Change web server properties and public access to the web/webdav====&lt;br /&gt;
* Force HTTPS: enables redirection for HTTP to HTTPS&lt;br /&gt;
* Public Web Paths: these paths are not password protected, e.g. &#039;/ap&#039;&lt;br /&gt;
* Public Webdav Paths: these webdav paths are not password protected, e.g. &#039;/backup&#039;&lt;br /&gt;
** These paths are by default readonly. You can set the &#039;Write&#039; flag to make the path also writable. This flag will be anyway ignored if credentials are provided.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;IPadr&amp;gt;&#039;&#039;&amp;lt;code&amp;gt;/webdav/&amp;lt;/code&amp;gt; is the root directory for webdav files. If you want to access a directory/file without credentials you have to add this directory to the Public Webdav Paths.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;/webdav/background/&amp;lt;/code&amp;gt; Here you have the background pictures for your Phones.&amp;lt;br&amp;gt;&lt;br /&gt;
Public Webdav Paths: &amp;lt;code&amp;gt;/background&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/background/a&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Now you have a public access to the folder background. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enter a single &#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039; for a public root directory. All sub directories and files will be also public then.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update/&amp;lt;/code&amp;gt;&#039;, the directory &#039;update&#039; and all sub directories/files will be public.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;&#039;, only the directory &#039;update&#039; and its files will be public.&lt;br /&gt;
&lt;br /&gt;
Important: Linux file names are case sensitive (so &amp;lt;code&amp;gt;/Update&amp;lt;/code&amp;gt; is not equal &amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;)!.&lt;br /&gt;
&lt;br /&gt;
====Change the Linux web server credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for Web Server access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change the Linux webdav access credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for webdav access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change application access credentials====&lt;br /&gt;
&lt;br /&gt;
If you have installed an application, which has the lighttpd-auth property set in its configuration file, you can configure a separate user/password for the applications web site.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to disable the separate authentication, leave the &#039;&#039;&#039;user&#039;&#039;&#039; field empty and enter the currently configured password. The authentication will be the same as the root web server authentication afterwards.&amp;lt;br&amp;gt;&lt;br /&gt;
One can just login on the application web site with this access.&lt;br /&gt;
&lt;br /&gt;
A configured access overrides a configured public web path to &#039;/apps/application-name&#039;!&lt;br /&gt;
&lt;br /&gt;
====Configure mutual TLS====&lt;br /&gt;
&lt;br /&gt;
If you need mutual TLS for innovaphone devices with a certificate signed by innovaphone, you can activate mutual TLS for a configurable &#039;&#039;&#039;port&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently we&#039;re just supporting client certificates signed by innovaphone&#039;s &#039;&#039;innovaphone Device Certification Authority&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The physical mutual TLS path is &#039;&#039;&#039;/var/www/innovaphone/mtls&#039;&#039;&#039;. Here you can put your script files, e.g. mtls.php.&amp;lt;br&amp;gt;&lt;br /&gt;
You then call this script file by &#039;&#039;&#039;https://linux-ip:mtls-port/mtls.php&#039;&#039;&#039;, as this path is the document root for the configured port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to upload the script:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Using a webdav client (like NetDrive) upload the script to the webdav folder.&lt;br /&gt;
Afterwards connect with Putty to the linux.&lt;br /&gt;
&lt;br /&gt;
The uploaded file is under /var/www/innovaphone/webdav and we must move it to /var/www/innovaphone/mtls&lt;br /&gt;
&lt;br /&gt;
===Certificates===&lt;br /&gt;
&lt;br /&gt;
The current server certificate installed on the web server is shown here. A self signed certificate, innovaphone-linux, is installed by default. It is recommended to change it with your own certificate.&lt;br /&gt;
&lt;br /&gt;
It is also possible to trust or reject other certificates.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Currently the LAP doesn&#039;t support the upload of a password protected certificate. As a workaround it is possible to convert the certificate with OpenSSL (on windows or Linux) to PEM format without password and upload this one.&lt;br /&gt;
&lt;br /&gt;
With the following openssl command, the password protected certificate can be changed into an unprotected certificate. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl pkcs12 -in&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithPasswort&#039;&#039; &amp;lt;code&amp;gt;-out&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithoutPasswort&#039;&#039;.pem &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The unprotected certificate should be deleted directly after upload for security reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to create a private, unsigned certificate you can do this with the following commands on the Linux AP CLI.&lt;br /&gt;
It is best to go in a folder which can be reached via http later as &amp;lt;code&amp;gt;/var/www/innovaphone/webdav/...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days xxxx (insert number)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt; if you don&#039;t want to protect your private key with a passphrase.&lt;br /&gt;
&lt;br /&gt;
You now will be asked for certificate information.&lt;br /&gt;
&lt;br /&gt;
To merge the certificate and key you can enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat cert.pem &amp;gt;&amp;gt; key.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file key.pem can now be uploaded via the web interface of the Linux AP.&lt;br /&gt;
&lt;br /&gt;
===Backup===&lt;br /&gt;
&lt;br /&gt;
The web server can be configured to poll a Command File URL (on a web server).&amp;lt;br&amp;gt;&lt;br /&gt;
The backup process is similar to [[Reference10:Services/Update]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alarm server can be also configured to receive alarms during an automatic backup: [[ #Alarm_Server | Alarm Server under Diagnostics ]].&lt;br /&gt;
&lt;br /&gt;
At the bottom you will see a list of the current automatic backup serials from the Command File URL and the log of the last automatic backups.&lt;br /&gt;
&lt;br /&gt;
[[Image:backup_restore.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Command File====&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 saveinnovaphonecfgs http://172.16.123.123/webdav/backup/cfgs-#i-#b10.tar.gz&lt;br /&gt;
&lt;br /&gt;
The available default commands are:&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonecfgs=====&lt;br /&gt;
&lt;br /&gt;
Saves all neccessary configuration files (no application specific files) as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonelogs=====&lt;br /&gt;
&lt;br /&gt;
Saves all available (also application related) log files as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====times=====&lt;br /&gt;
Executes the following command(s) only, if the specified time matches and only once per hour (independent of poll timeout value).&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# both commands always executed&lt;br /&gt;
saveinnovaphonelogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-logs-#i-#m-#b10.tar.gz&lt;br /&gt;
saveinnovaphonecfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-cfg-#i-#m-#b10.tar.gz&lt;br /&gt;
# commands only from monday till saturday at 10am and 11am executed. &lt;br /&gt;
times day:1,2,3,4,5 hour:10,11 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
# commands only Saturdays and Sundays at 00am executed. &lt;br /&gt;
times day:6,7 hour:00 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* day goes from 1 (Monday) to 7 (Sunday).&amp;lt;br&amp;gt;&lt;br /&gt;
* hour goes from 00 to 23.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can specify multiple times commands to override the last one.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Backup file name macros=====&lt;br /&gt;
&lt;br /&gt;
You can use some macros for the backup filename:&lt;br /&gt;
&lt;br /&gt;
* #i - will be replaced with the current IP address&lt;br /&gt;
* #m - will be replaced with the current MAC address&lt;br /&gt;
* #d - will be replaced with date/time in format Ymd-His (20110231-111010)&lt;br /&gt;
* #bxx - will be replaced with the current backup index, whilst xx is the maximum index&lt;br /&gt;
&lt;br /&gt;
====Save configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to see all available files/data/logs to download them manually.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be saved!&lt;br /&gt;
&lt;br /&gt;
====Restore configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to restore all available files/data.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be restored!&lt;br /&gt;
&lt;br /&gt;
===Relay Hosts===&lt;br /&gt;
&lt;br /&gt;
The Application Platform contains a mail client which speaks SMTP. &lt;br /&gt;
The SMTP daemon (postfix) looks up by default the DNS MX record of the recipient email address.&amp;lt;br&amp;gt;&lt;br /&gt;
Relay SMTP hosts can also be configured to deliver the mails. Each relay host is related to a &#039;&#039;&#039;sender&#039;&#039;&#039; mail address or a &#039;&#039;&#039;sender&#039;&#039;&#039; mail domain. TLS is used if the host supports it.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of the server entry:&lt;br /&gt;
; mydomain.com: MX record to the domain&lt;br /&gt;
; smtphost: host name with MX record lookup&lt;br /&gt;
; [gateway.example.com]: host name with DNS lookup&lt;br /&gt;
; [an.ip.add.ress]: IP address without DNS lookup&lt;br /&gt;
The form [hostname] turns off MX lookups. See also [http://www.postfix.org/postconf.5.html#relayhost the postfix documentation].&amp;lt;br&amp;gt;&lt;br /&gt;
If anonymous SMTP is to be used, user and password must be left empty.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:relay_hosts.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Important to use &amp;quot;[]&amp;quot; like the picture.&lt;br /&gt;
&lt;br /&gt;
Currently innovaphone Reporting and innovaphone Faxserver are using these relay hosts, if entered.&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
&lt;br /&gt;
The innovaphone database is created to store e.g. relay hosts. &lt;br /&gt;
PostgreSQL is also available for other applications and any of them could create its own database. &lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
&lt;br /&gt;
The database user is &#039;&#039;&#039;innovaphone&#039;&#039;&#039; with default password &#039;&#039;&#039;innovaphone&#039;&#039;&#039;. &lt;br /&gt;
This password may be changed here.&lt;br /&gt;
&lt;br /&gt;
====Remote Access====&lt;br /&gt;
&lt;br /&gt;
There are tools (PgAdmin III) that allow to connect to application databases remotely. &lt;br /&gt;
It is first needed to configure the IP you are connecting from here. (Only Single-IP entry it&#039;s allowed, no submask or wildcard for multiple IPs)&lt;br /&gt;
&lt;br /&gt;
For the PgAdmin III it is imporant to use innovaphone as Service-DB (Wartungs-DB). Default login credentials - User: innovaphone - Password: innovaphone&lt;br /&gt;
&lt;br /&gt;
===Announcements===&lt;br /&gt;
&lt;br /&gt;
You can upload a 16bit,8khz,mono wave file, which will be converted to G711U/G711A/G723/G729 .&amp;lt;br&amp;gt;&lt;br /&gt;
The converted files will be stored inside the webdav/announcements folder, e.g. http://172.16.111.111/webdav/announcements/test.g7xx&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you check the &#039;&#039;&#039;Return files as ZIP file&#039;&#039;&#039; flag, you will get a ZIP file, which contains the converted files. These files are not stored locally then! &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For the new Codec G722, OPUS-NB and OPUS-WB you have to use the online converter available on my.innovaphone portal (login necessary first): https://my.innovaphone.com/support.php or on our website https://www.innovaphone.com/en/support/convert.html. No Conversion of new codecs is possible with Linux AP !&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
===List===&lt;br /&gt;
&lt;br /&gt;
A list of all currently installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
If an application has an own web interface, you can reach it by using the application name link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Uninstall====&lt;br /&gt;
Use the uninstall link in the list to uninstall an application.&lt;br /&gt;
&lt;br /&gt;
===Upload/Update===&lt;br /&gt;
&lt;br /&gt;
Here all new applications, application updates and application platform updates are installed.&amp;lt;br&amp;gt;&lt;br /&gt;
After uploading the file, the installation will start automatically and the installation process will be shown. The page refreshes until the installation has finished.&lt;br /&gt;
&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
&lt;br /&gt;
===Logs===&lt;br /&gt;
&lt;br /&gt;
Here you can view, download or clear the available log files from the application platform or from installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also download all log files at once (this archiv also contains older versions from the log files).&lt;br /&gt;
&lt;br /&gt;
===RPCAP===&lt;br /&gt;
&lt;br /&gt;
Enable/disable RPCAP for use with Wireshark.&amp;lt;br&amp;gt;&lt;br /&gt;
A link will be displayed, which you can use within Wireshark.&lt;br /&gt;
&lt;br /&gt;
===Alarm Server===&lt;br /&gt;
&lt;br /&gt;
Configure an innovaphone device as alarm server:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ip&#039;&#039;&#039;: IP address of the innovaphone device&lt;br /&gt;
* [&#039;&#039;&#039;port&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;user&#039;&#039;&#039;]: user for authentication to the alarm server &lt;br /&gt;
* [&#039;&#039;&#039;password&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;https&#039;&#039;&#039;]: use https to send the alarm&lt;br /&gt;
&lt;br /&gt;
Options in &#039;&#039;&#039;[]&#039;&#039;&#039; are optional.&lt;br /&gt;
&lt;br /&gt;
 Alarms from installed applications or the application platform itself will be sent to this configured server.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
View the disk usage.&lt;br /&gt;
&lt;br /&gt;
===Reset===&lt;br /&gt;
====IPxx10====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform. You&#039;ll have to restart it over the IPxx10 gateway.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform or reboot it.&lt;br /&gt;
&lt;br /&gt;
===Status PHP script===&lt;br /&gt;
http://LinuxAP/status.php returns an XML file containing the output from the following linux commands:&amp;lt;br&amp;gt;&lt;br /&gt;
* df -H&lt;br /&gt;
* free -h&lt;br /&gt;
* uptime&lt;br /&gt;
* ps -wwweo pid,lstart,time,etime,pcpu,pmem,rsz,vsz,args&lt;br /&gt;
* ss -A inet -ap&lt;br /&gt;
* top -b -n 1&lt;br /&gt;
&lt;br /&gt;
==Use as Log or Alarm Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as a server for innovaphone logs.&amp;lt;br&amp;gt;&lt;br /&gt;
Configure Local-AP(-s)/Remote-AP(-s) on [[Reference10:Services/Logging]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The following scripts are used to retrieve the logs/alarms:&lt;br /&gt;
* logs: /ap/log.fcgi&lt;br /&gt;
* alarms: /ap/alarm.fcgi&lt;br /&gt;
&lt;br /&gt;
So you can make the path &#039;&#039;&#039;/ap&#039;&#039;&#039; public on the &#039;&#039;Linux Web Server&#039;&#039; or you configure an authenticated URL for these files/this path on your &#039;&#039;innovaphone gateway&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 If you configure an authenticated URL, don&#039;t forget to configure port 80 or port 443 for secure transport (Remote-AP-S) like&lt;br /&gt;
 https://111.111.111.111:443/ap or http://111.111.111.111:80/ap&lt;br /&gt;
&lt;br /&gt;
The log and alarm files will be saved unter http://LAP/webdav/log or /alarm. The files are rotated after 1 MB size and four times, so you&#039;ll have max 5 files.&lt;br /&gt;
&lt;br /&gt;
==Use as File/VM-Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as file server, e.g. for udpate scripts, voicemail etc.&amp;lt;br&amp;gt;&lt;br /&gt;
You can access the server with a webdav client via &#039;&#039;&#039;http(s)://Linux-IP/webdav&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Public access to certain paths etc. can be configured under the [[Reference10:Concept_Linux_Application_Platform#Web_Server | web server configuration]].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the Linux Filesystem(ext3) is case sensetive. The PBX will always search for lowercase letters. If you name your file ‘greetings.G711A’ it won’t be found. You have to name the file ‘greetings.g711a’.&lt;br /&gt;
&lt;br /&gt;
==Enable further Tracing==&lt;br /&gt;
There are different trace options, which can be enabled by calling a certain php script:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://LINUX-IP/trace.php?level=127&lt;br /&gt;
&lt;br /&gt;
The level is calculated by the addition of one or multiple of the following trace options:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 || &#039;&#039;&#039;Option&#039;&#039;&#039; || &#039;&#039;&#039;To add&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_STD || 1&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_DB || 2&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_TIME || 4&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW_TOTAL || 8&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW || 16&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_PARSE_CFG || 32&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_LDAP || 64&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_XML || 128&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So currently all trace options are enabled with the level &#039;&#039;&#039;255&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default trace level are &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
===Creating own applications===&lt;br /&gt;
See [[Reference10:Concept Linux Application]]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
====NetDrive====&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/software/download/netdrive/55134 NetDrive] is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.&lt;br /&gt;
&lt;br /&gt;
====Putty====&lt;br /&gt;
&lt;br /&gt;
[http://www.putty.org/ Putty] is SSH client to connect to the linux application platform.&lt;br /&gt;
&lt;br /&gt;
===Manual Debian Upgrade===&lt;br /&gt;
If you have installed one of our upgrade hotfixes and you had installed packages, which weren&#039;t included in innovaphone applications, the upgrade of some packages might have failed. You will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
The following packages couldn&#039;t be upgraded due to missing dependencies: php5-cgi php5-cli&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have to perfom some actions yourself:&lt;br /&gt;
* make sure, your Linux Application Platform has internet access&lt;br /&gt;
* login with a terminal client like Putty&lt;br /&gt;
* start &#039;apt-get update&#039;&lt;br /&gt;
* start &#039;apt-get install php5-cgi php5-cli&#039; (list the packages of the warning message)&lt;br /&gt;
* delete the file /var/www/innovaphone/log/missing_packages.log to clear the warning message:&lt;br /&gt;
** rm /var/www/innovaphone/log/missing_packages.log&lt;br /&gt;
&lt;br /&gt;
Your installation should be now up to date again.&lt;br /&gt;
&lt;br /&gt;
===Configuring a new Kernel===&lt;br /&gt;
If you have installed a hotfix with a new kernel, you will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
You&#039;re not running the latest kernel Image-6010-3.4.10!&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change to the new kernel, you have to reconfigure something on your device, where the CF card is plugged in.&lt;br /&gt;
* First shutdown your Linux (see [[ Reference10:Concept_Linux_Application_Platform#IPxx10 ]])&lt;br /&gt;
* Stop Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
* Configure the latest kernel file (currently &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;) under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
* Start Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
&lt;br /&gt;
===Alarms of the Application Platform===&lt;br /&gt;
If you have configured an [[ #Alarm_Server | Alarm Server]], you will receive certain alarms.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, the following alarms exist:&lt;br /&gt;
&lt;br /&gt;
* Disk Usage &amp;gt;= 90%&lt;br /&gt;
* read-only mounted partition&lt;br /&gt;
* bad blocks on CF cards&lt;br /&gt;
* Alarms for the innovaphone Reporting Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Exchange Calendar Connector Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Faxserver Application, if installed&lt;br /&gt;
&lt;br /&gt;
===Initially installed packages===&lt;br /&gt;
&lt;br /&gt;
The following packages are already installed without any application:&lt;br /&gt;
&lt;br /&gt;
* adduser&lt;br /&gt;
* apt&lt;br /&gt;
* apt-utils&lt;br /&gt;
* aptitude&lt;br /&gt;
* aptitude-common&lt;br /&gt;
* base-files&lt;br /&gt;
* base-passwd&lt;br /&gt;
* bash&lt;br /&gt;
* binutils&lt;br /&gt;
* bsdmainutils&lt;br /&gt;
* bsdutils&lt;br /&gt;
* bzip2&lt;br /&gt;
* ca-certificates&lt;br /&gt;
* comerr-dev&lt;br /&gt;
* coreutils&lt;br /&gt;
* cpio&lt;br /&gt;
* cpp&lt;br /&gt;
* cpp-4.7&lt;br /&gt;
* cpp-4.6&lt;br /&gt;
* cron&lt;br /&gt;
* curl&lt;br /&gt;
* dash&lt;br /&gt;
* db-util&lt;br /&gt;
* db5.1-util&lt;br /&gt;
* debconf&lt;br /&gt;
* debconf-i18n&lt;br /&gt;
* debian-archive-keyring&lt;br /&gt;
* debianutils&lt;br /&gt;
* diffutils&lt;br /&gt;
* dmidecode&lt;br /&gt;
* dmsetup&lt;br /&gt;
* dos2unix&lt;br /&gt;
* dovecot-common&lt;br /&gt;
* dovecot-core&lt;br /&gt;
* dovecot-pgsql&lt;br /&gt;
* dovecot-pop3d&lt;br /&gt;
* dovecot-sieve&lt;br /&gt;
* dpkg&lt;br /&gt;
* e2fslibs&lt;br /&gt;
* e2fsprogs&lt;br /&gt;
* file&lt;br /&gt;
* findutils&lt;br /&gt;
* gamin&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc-4.7&lt;br /&gt;
* gcc-4.6&lt;br /&gt;
* gcc-4.6-base&lt;br /&gt;
* gcc-4.7-base&lt;br /&gt;
* gettext-base&lt;br /&gt;
* gnupg&lt;br /&gt;
* gpgv&lt;br /&gt;
* grep&lt;br /&gt;
* groff-base&lt;br /&gt;
* grub-common&lt;br /&gt;
* grub-legacy&lt;br /&gt;
* gzip&lt;br /&gt;
* hdparm&lt;br /&gt;
* hostname&lt;br /&gt;
* ifupdown&lt;br /&gt;
* info&lt;br /&gt;
* initramfs-tools&lt;br /&gt;
* initscripts&lt;br /&gt;
* insserv&lt;br /&gt;
* install-info&lt;br /&gt;
* iproute&lt;br /&gt;
* iptables&lt;br /&gt;
* iputils-ping&lt;br /&gt;
* isc-dhcp-client&lt;br /&gt;
* isc-dhcp-common&lt;br /&gt;
* klibc-utils&lt;br /&gt;
* kmod&lt;br /&gt;
* krb5-multidev&lt;br /&gt;
* libacl1&lt;br /&gt;
* libapt-inst1.5&lt;br /&gt;
* libapt-pkg4.12&lt;br /&gt;
* libasprintf0c2&lt;br /&gt;
* libattr1&lt;br /&gt;
* libblkid1&lt;br /&gt;
* libboost-iostreams1.49.0&lt;br /&gt;
* libbsd0&lt;br /&gt;
* libbz2-1.0&lt;br /&gt;
* libbz2-dev&lt;br /&gt;
* libc-bin&lt;br /&gt;
* libc-client2007e&lt;br /&gt;
* libc-dev-bin&lt;br /&gt;
* libc6&lt;br /&gt;
* libc6-dev&lt;br /&gt;
* libcap2&lt;br /&gt;
* libclass-isa-perl&lt;br /&gt;
* libcomerr2&lt;br /&gt;
* libcurl3&lt;br /&gt;
* libcurl4-openssl-dev&lt;br /&gt;
* libcwidget3&lt;br /&gt;
* libdb5.1&lt;br /&gt;
* libdevmapper1.02.1&lt;br /&gt;
* libedit2&lt;br /&gt;
* libept1.4.12&lt;br /&gt;
* libexpat1&lt;br /&gt;
* libfcgi-dev&lt;br /&gt;
* libfcgi0ldbl&lt;br /&gt;
* libffi5&lt;br /&gt;
* libfreetype6&lt;br /&gt;
* libfuse2&lt;br /&gt;
* libgamin-dev&lt;br /&gt;
* libgamin0&lt;br /&gt;
* libgcc1&lt;br /&gt;
* libgcrypt11&lt;br /&gt;
* libgcrypt11-dev&lt;br /&gt;
* libgdbm-dev&lt;br /&gt;
* libgdbm3&lt;br /&gt;
* libglib2.0-0&lt;br /&gt;
* libgmp10&lt;br /&gt;
* libgnutls-dev&lt;br /&gt;
* libgnutls-openssl27&lt;br /&gt;
* libgnutls26&lt;br /&gt;
* libgnutlsxx27&lt;br /&gt;
* libgomp1&lt;br /&gt;
* libgpg-error-dev&lt;br /&gt;
* libgpg-error0&lt;br /&gt;
* libgpgme11&lt;br /&gt;
* libgpm2&lt;br /&gt;
* libgssapi-krb5-2&lt;br /&gt;
* libgssrpc4&lt;br /&gt;
* libidn11&lt;br /&gt;
* libidn11-dev&lt;br /&gt;
* libitm1&lt;br /&gt;
* libk5crypto3&lt;br /&gt;
* libkadm5clnt-mit8&lt;br /&gt;
* libkadm5srv-mit8&lt;br /&gt;
* libkdb5-6&lt;br /&gt;
* libkeyutils1&lt;br /&gt;
* libklibc&lt;br /&gt;
* libkmod2&lt;br /&gt;
* libkrb5-3&lt;br /&gt;
* libkrb5-dev&lt;br /&gt;
* libkrb5support0&lt;br /&gt;
* libldap-2.4-2&lt;br /&gt;
* libldap2-dev&lt;br /&gt;
* liblocale-gettext-perl&lt;br /&gt;
* liblzma5&lt;br /&gt;
* libmagic1&lt;br /&gt;
* libmemcache-dev&lt;br /&gt;
* libmemcache0&lt;br /&gt;
* libmount1&lt;br /&gt;
* libmpc2&lt;br /&gt;
* libmpfr4&lt;br /&gt;
* libmysqlclient18&lt;br /&gt;
* libncurses5&lt;br /&gt;
* libncursesw5&lt;br /&gt;
* libnewt0.52&lt;br /&gt;
* libnfnetlink0&lt;br /&gt;
* libonig2&lt;br /&gt;
* libopts25&lt;br /&gt;
* libp11-kit-dev&lt;br /&gt;
* libp11-kit0&lt;br /&gt;
* libpam-modules&lt;br /&gt;
* libpam-modules-bin&lt;br /&gt;
* libpam-pgsql&lt;br /&gt;
* libpam-runtime&lt;br /&gt;
* libpam0g&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* libparted0debian1&lt;br /&gt;
* libpcre3&lt;br /&gt;
* libpcre3-dev&lt;br /&gt;
* libpcrecpp0&lt;br /&gt;
* libpipeline1&lt;br /&gt;
* libpng12-0&lt;br /&gt;
* libpng12-dev&lt;br /&gt;
* libpopt0&lt;br /&gt;
* libpq-dev&lt;br /&gt;
* libpq5&lt;br /&gt;
* libprocps0&lt;br /&gt;
* libpth20&lt;br /&gt;
* libqdbm14&lt;br /&gt;
* libquadmath0&lt;br /&gt;
* libreadline6&lt;br /&gt;
* librtmp-dev&lt;br /&gt;
* librtmp0&lt;br /&gt;
* libsasl2-2&lt;br /&gt;
* libsasl2-modules&lt;br /&gt;
* libselinux1&lt;br /&gt;
* libsemanage-common&lt;br /&gt;
* libsemanage1&lt;br /&gt;
* libsepol1&lt;br /&gt;
* libsigc++-2.0-0c2a&lt;br /&gt;
* libslang2&lt;br /&gt;
* libsqlite3-0&lt;br /&gt;
* libsqlite3-dev&lt;br /&gt;
* libss2&lt;br /&gt;
* libssh2-1&lt;br /&gt;
* libssh2-1-dev&lt;br /&gt;
* libssl-dev&lt;br /&gt;
* libssl1.0.0&lt;br /&gt;
* libstdc++6&lt;br /&gt;
* libtasn1-3&lt;br /&gt;
* libtasn1-3-dev&lt;br /&gt;
* libtext-charwidth-perl&lt;br /&gt;
* libtext-iconv-perl&lt;br /&gt;
* libtext-wrapi18n-perl&lt;br /&gt;
* libtinfo5&lt;br /&gt;
* libtokyocabinet9&lt;br /&gt;
* libudev0&lt;br /&gt;
* libusb-0.1-4&lt;br /&gt;
* libustr-1.0-1&lt;br /&gt;
* libuuid-perl&lt;br /&gt;
* libuuid1&lt;br /&gt;
* libwrap0&lt;br /&gt;
* libxapian22&lt;br /&gt;
* libxml2&lt;br /&gt;
* libxml2-dev&lt;br /&gt;
* libxml2-utils&lt;br /&gt;
* linux-base&lt;br /&gt;
* linux-image-3.2.0-4-686-pae&lt;br /&gt;
* linux-libc-dev&lt;br /&gt;
* locales&lt;br /&gt;
* login&lt;br /&gt;
* logrotate&lt;br /&gt;
* lsb-base&lt;br /&gt;
* lsb-release&lt;br /&gt;
* make&lt;br /&gt;
* makedev&lt;br /&gt;
* man-db&lt;br /&gt;
* manpages&lt;br /&gt;
* manpages-dev&lt;br /&gt;
* mawk&lt;br /&gt;
* mime-support&lt;br /&gt;
* mlock&lt;br /&gt;
* module-init-tools&lt;br /&gt;
* mount&lt;br /&gt;
* multiarch-support&lt;br /&gt;
* mysql-common&lt;br /&gt;
* nano&lt;br /&gt;
* ncurses-base&lt;br /&gt;
* ncurses-bin&lt;br /&gt;
* net-tools&lt;br /&gt;
* netbase&lt;br /&gt;
* netcat-traditional&lt;br /&gt;
* ntp&lt;br /&gt;
* ntpdate&lt;br /&gt;
* openssh-client&lt;br /&gt;
* openssh-server&lt;br /&gt;
* openssl&lt;br /&gt;
* parted&lt;br /&gt;
* passwd&lt;br /&gt;
* patch&lt;br /&gt;
* perl-base&lt;br /&gt;
* php-pear&lt;br /&gt;
* php-xml-parser&lt;br /&gt;
* php-xml-serializer&lt;br /&gt;
* php5-cgi&lt;br /&gt;
* php5-cli&lt;br /&gt;
* php5-common&lt;br /&gt;
* php5-curl&lt;br /&gt;
* php5-imap&lt;br /&gt;
* php5-pgsql&lt;br /&gt;
* php5-xcache&lt;br /&gt;
* pkg-config&lt;br /&gt;
* postfix&lt;br /&gt;
* postfix-pcre&lt;br /&gt;
* postfix-pgsql&lt;br /&gt;
* postgresql-9.1&lt;br /&gt;
* postgresql-client-9.1&lt;br /&gt;
* postgresql-client-common&lt;br /&gt;
* postgresql-common&lt;br /&gt;
* procps&lt;br /&gt;
* psmisc&lt;br /&gt;
* python&lt;br /&gt;
* python-minimal&lt;br /&gt;
* python2.7&lt;br /&gt;
* python2.7-minimal&lt;br /&gt;
* rdate&lt;br /&gt;
* readline-common&lt;br /&gt;
* rsyslog&lt;br /&gt;
* sasl2-bin&lt;br /&gt;
* sed&lt;br /&gt;
* sensible-utils&lt;br /&gt;
* shared-mime-info&lt;br /&gt;
* ssh&lt;br /&gt;
* ssl-cert&lt;br /&gt;
* sudo&lt;br /&gt;
* sysv-rc&lt;br /&gt;
* sysvinit&lt;br /&gt;
* sysvinit-utils&lt;br /&gt;
* tar&lt;br /&gt;
* tasksel&lt;br /&gt;
* tasksel-data&lt;br /&gt;
* traceroute&lt;br /&gt;
* tzdata&lt;br /&gt;
* ucf&lt;br /&gt;
* udev&lt;br /&gt;
* util-linux&lt;br /&gt;
* uuid-dev&lt;br /&gt;
* vim&lt;br /&gt;
* vim-common&lt;br /&gt;
* vim-runtime&lt;br /&gt;
* vim-tiny&lt;br /&gt;
* wget&lt;br /&gt;
* whiptail&lt;br /&gt;
* xz-utils&lt;br /&gt;
* zlib1g&lt;br /&gt;
* zlib1g-dev&lt;br /&gt;
* lighttpd-mod-webdav&lt;br /&gt;
* lighttpd&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
=== Do not update Debian Packages ===&lt;br /&gt;
The Linux application platform comes with the tested set of required Debian packages.  &#039;&#039;It is not recommended to do a manual update of those packages&#039;&#039; (or the kernel itself).  We have seen situations where updated packages had been changed in a non-downward compatible fashion - resulting in the applications running on the Linux application platform not working properly an more!&lt;br /&gt;
&lt;br /&gt;
===Separate authentication for innovaphone applications===&lt;br /&gt;
If you configured a separate authentication, it depends on the used browser, whether you have to re-authenticate on switching between the root web and the innovaphone application web access or not.&lt;br /&gt;
&lt;br /&gt;
===Refreshing issue on hotfix installation===&lt;br /&gt;
[[ Reference10:Concept_Linux_Application_Platform#Refreshing_issue_on_installation | See here. ]]&lt;br /&gt;
&lt;br /&gt;
===Kernel Update in VM Platform===&lt;br /&gt;
The installation of a new kernel fails and this process leaves the system unstable, not being able to install any more debian packages. Hotfix installations will probably fail.&lt;br /&gt;
&lt;br /&gt;
===Outdated packages? Debian Upgrade?===&lt;br /&gt;
From time to time we will deliver upgraded debian packages with a new hotfix. As we have to insure compatibility with our applications, we won&#039;t perform an upgrade for each hotfix!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please do &#039;&#039;&#039;not&#039;&#039;&#039; perform an update/upgrade yourself, as this will break future hotfix/application releases. Sometimes we deliver debian packages in our hotfixes and dependencies might be broken if you update/upgrade yourself.&lt;br /&gt;
&lt;br /&gt;
====I want to do it anyway!!!====&lt;br /&gt;
Ok, save your application/ap configuration and data files and install our latest &#039;&#039;&#039;FULL&#039;&#039;&#039; release without any hotfix. Restore the configuration/data files and perform your update/upgrade. Now you can be happy, if everything still works fine...&amp;lt;br&amp;gt;&lt;br /&gt;
Perform these steps for each new hotfix release, as you might not be able to apply a new hotfix.&lt;br /&gt;
&lt;br /&gt;
==How To==&lt;br /&gt;
===Reset webserver/webdav passwords===&lt;br /&gt;
In case you have lost your webserver or webdav password, but you still have the root credentials, you can login with SSH and execute the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;admin:Linux Web Server:c33c4d3f554367d5d1c3c9bf36803024&amp;quot; &amp;gt; /home/lighttpd/lighttpd_htdigest.user&lt;br /&gt;
echo &amp;quot;admin:Linux Webdav:7182e328a0531dd2d44d225f36da6b87&amp;quot; &amp;gt; /home/lighttpd/webdav_htdigest.user&lt;br /&gt;
/etc/init.d/lighttpd restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you can access your webserver/webdav with &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===Installation process failed===&lt;br /&gt;
&lt;br /&gt;
When the installation process stuck either because it doesn&#039;t get IP or services are not refresh/finished there is some additional information we could get from the Compact Flash that could help us understanding what is failing and if necessary open a support ticket and include this information in the ticket to innovaphone.&lt;br /&gt;
&lt;br /&gt;
*  Stop the linux and check General-&amp;gt;Compact Flash &amp;quot;Browse files&amp;quot;. All files in there might be helpfull (all but the kernel, of course).&lt;br /&gt;
*  Start the linux and check if you can connect to the configured/expected IP address via Putty after ~1 minute.&lt;br /&gt;
&lt;br /&gt;
Note: The file /var/log/init_install.log might help us to get a clue of the failure.&lt;br /&gt;
&lt;br /&gt;
===Howto save and restore Linux AP data/database if the webgui is not available===&lt;br /&gt;
&lt;br /&gt;
If the linux ap webgui is not reachable a common reason is that the harddisc is full.&lt;br /&gt;
If a full hd is the case, maybe your first thought is to increase the harddisc.&lt;br /&gt;
It could be a solution but there are some traps to increase the partition in linux which can be ended in complete data loss&lt;br /&gt;
&lt;br /&gt;
The fastest way to get linux ap working with a new harddsik size is to install a new one.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How can you save the data without get access over the webgui?&#039;&#039;&#039;&lt;br /&gt;
If you can reach linux via putty it could be possible :)&lt;br /&gt;
&lt;br /&gt;
Here are some possibilities how to do that over the shell:&lt;br /&gt;
&#039;&#039;&#039;(But keep in the back of you head that you are working as root and therefore typing errors can lead to undesirable behaviours!)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Delete at first all the logfiles. Sometimes a few MByte are enough to get all the stopped services running again and you could reach liunx over the webgui.&lt;br /&gt;
i.e. the reporting logfiles are under &amp;quot;&#039;&#039;/var/www/innovaphone/apps/innovaphone-reporting/log&#039;&#039;&amp;quot;, the fax server logfiles are under &lt;br /&gt;
&amp;quot;&#039;&#039;/var/www/innovaphone/apps/innovaphone-faxserver/log&#039;&#039;&amp;quot;&lt;br /&gt;
-&amp;gt; &#039;&#039;&#039;Don&#039;t delete the &#039;log&#039; directory itself!&#039;&#039;&#039; Delete only the content:&lt;br /&gt;
&lt;br /&gt;
   root@vmware-debian: cd /var/www/innovaphone/apps/innovaphone-reporting/log/&lt;br /&gt;
   root@vmware-debian: rm *&lt;br /&gt;
&lt;br /&gt;
Is the linux ap after a restart running and over http reachable, download all the config and databases and restore them on the new linux ap (2.2).&lt;br /&gt;
&lt;br /&gt;
[[image:save.png]]&lt;br /&gt;
&lt;br /&gt;
2. In case the reason for the unreachable webgui was not a full harddisk you can save the config/database (only reporting and exchange connector at the moment) &lt;br /&gt;
over the shell.&lt;br /&gt;
&lt;br /&gt;
  root@vmware-debian:/# cd /home/postgres/&lt;br /&gt;
  &#039;&#039;for reporting type:&#039;&#039;&lt;br /&gt;
  root@vmware-debian:/# sudo -u postgres /usr/bin/pg_dump --encoding=utf8 --schema=public -Fc -U postgres innovaphone-reporting | gzip -fc6 &amp;gt; innovaphone-reporting-db.gz&lt;br /&gt;
&lt;br /&gt;
  root@vmware-debian:/# cd /home/postgres/&lt;br /&gt;
  &#039;&#039;for exchange connector type:&#039;&#039;&lt;br /&gt;
  root@vmware-debian:/# sudo -u postgres /usr/bin/pg_dump --encoding=utf8 --schema=public -Fc -U postgres innovaphone-exchange | gzip -fc6 &amp;gt; innovaphone-exchange-db.gz&lt;br /&gt;
&lt;br /&gt;
2.1 Access linux with winscp &#039;&#039;&#039;(protocol: scp / user: root)&#039;&#039;&#039; and download the .gz (don&#039;t unzip)&lt;br /&gt;
&lt;br /&gt;
[[image:reporting.png]]&lt;br /&gt;
&lt;br /&gt;
(BTW: you can &#039;&#039;&#039;download&#039;&#039;&#039; with &#039;&#039;&#039;scp&#039;&#039;&#039; also the complete webdav files. But for the &#039;&#039;&#039;upload&#039;&#039;&#039; use as user &#039;admin&#039; and as protocol &amp;quot;&#039;&#039;&#039;webdav&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
Otherwise the owner is still root and this ends in authorization problems)&lt;br /&gt;
&lt;br /&gt;
[[image:webdav.png]]&lt;br /&gt;
&lt;br /&gt;
2.2. on the new linux ap upload this .gz&lt;br /&gt;
&lt;br /&gt;
[[image:restore.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. The steps mentoined above should be only the last try to get the data and could work or not.&lt;br /&gt;
To be always on the save site use a standby linux (for reporting), save configs (update server) and delete (automatic) old cdr&#039;s to avoid a full hd.&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Linux Application Platform]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=44955</id>
		<title>Reference10:Concept Reporting</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=44955"/>
		<updated>2016-11-23T15:22:17Z</updated>

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

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Save.png&amp;diff=44953</id>
		<title>File:Save.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Save.png&amp;diff=44953"/>
		<updated>2016-11-23T14:57:46Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Restore.png&amp;diff=44952</id>
		<title>File:Restore.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Restore.png&amp;diff=44952"/>
		<updated>2016-11-23T14:57:24Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Reporting.png&amp;diff=44951</id>
		<title>File:Reporting.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Reporting.png&amp;diff=44951"/>
		<updated>2016-11-23T14:57:14Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=44950</id>
		<title>Reference10:Concept Reporting</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=44950"/>
		<updated>2016-11-23T14:56:28Z</updated>

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

		<summary type="html">&lt;p&gt;Tle: /* Linux Application Platform (IPxx10 or IPx11 Gateways) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The innovaphone Linux Application Platform permits to install innovaphone or custom applications for certain purposes, like Reporting or a Fax Server.&amp;lt;br&amp;gt;&lt;br /&gt;
It also allows to backup/restore configuration files, uninstall applications or see and backup logs.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Linux distribution Debian 7.1 (Wheezy) is used and linux kernel is 3.4.10 (IPxx10) and 3.2.0.4 (VM)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The architecture of the platform is armel.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use the innovaphone Linux Application Platform:&lt;br /&gt;
&lt;br /&gt;
===On an IPxx10 Gateway===&lt;br /&gt;
* An IP810, IP0010, IP3010 or IP6010 Gateway&lt;br /&gt;
* Firmware Version 10&lt;br /&gt;
* A compact flash card with UDMA support (minimum 8 GB)&lt;br /&gt;
** We recommend SanDisk Extreme with UDMA and 90 MB/s or above&lt;br /&gt;
&lt;br /&gt;
===On an IPx11 Gateway===&lt;br /&gt;
* An IP0011, IP311, IP411, IP811 or IP3011 Gateway&lt;br /&gt;
* Firmware Version 11r2&lt;br /&gt;
* An SSD mSATA&lt;br /&gt;
&lt;br /&gt;
===As a Virtual Machine===&lt;br /&gt;
* VMWare Player/VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
* Minimal Requirements for the Virtual Machine:&lt;br /&gt;
 1vCPU ( we run 800 MHZ CPU on our IPXX10 Gateways, so similar speed or higher it&#039;s enough, nevertheless depending on the operations/load you could need more CPU speed/vCPU)&lt;br /&gt;
 512 MB RAM&lt;br /&gt;
 8GB Disk&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Download the latest Linux Application Platform from [https://download.innovaphone.com download.innovaphone.com ].&amp;lt;br&amp;gt;&lt;br /&gt;
You can download and install two different packages:&lt;br /&gt;
&lt;br /&gt;
===Default Credentials===&lt;br /&gt;
* Web/Webdav: &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
* Root-Login (e.g. with Putty): &#039;&#039;&#039;root&#039;&#039;&#039;/&#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Disk space calculation===&lt;br /&gt;
See [[Reference10:Concept_Reporting#Calculation_of_required_disk_space]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
It is strongly recommended that you try to precalculate the needed disk space and that you choose a suiting disk size.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Disk space usage after first time installation===&lt;br /&gt;
&lt;br /&gt;
====IPxx10/IPx11 Gateways====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 32 MB (fat32 partition with two kernels, which are started by the IPxx10 or IPx11)&lt;br /&gt;
* /dev/sda2: 524 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda3: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda4: 620 MB / xx GB depending of the size of the used CF card (ext4 partition, which is actually booted)&lt;br /&gt;
&lt;br /&gt;
 All in all about 1.3 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 674 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda2: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda3: 767 MB / xx GB depending of your pre installation configuration (ext3 partition, which is actually booted) &lt;br /&gt;
&lt;br /&gt;
 All in all about 1.6 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (IPxx10 or IPx11 Gateways)===&lt;br /&gt;
&lt;br /&gt;
It is recommended to use CF-Cards with sizes of 8GB or more and the card &#039;&#039;&#039;must&#039;&#039;&#039; support UDMA!&amp;lt;br&amp;gt;&lt;br /&gt;
* Enable Linux under Linux General. &lt;br /&gt;
  [[image:IPxx10_Linux_-_enable.png]]&lt;br /&gt;
* Be sure that &amp;quot;Autostart Linux&amp;quot; is disabled until the installation process is finished.&lt;br /&gt;
* You need to enable Proxy-ARP on ETH0 or ETH1 [[ Reference:Configuration/ETH/IP|here ]], so your gateway and the linux appliance will share the same physical interface. Simply go to &#039;&#039;&#039;IP4 &amp;gt; ETH0 (if used) &amp;gt; IP&#039;&#039;&#039; and check &#039;&#039;&#039;Proxy ARP&#039;&#039;&#039;&lt;br /&gt;
* Decompress the downloaded package. You should have an image file like &amp;lt;code&amp;gt;linux_ipxx10_armel.img&amp;lt;/code&amp;gt; now. This works for both &#039;&#039;&#039;IPxx10&#039;&#039;&#039; and &#039;&#039;&#039;IPx11&#039;&#039;&#039; hardware!&lt;br /&gt;
* Upload the decompressed file over the gateways web interface under [[ Reference10:General/Compact-Flash/Image ]] (IPxx10) or [[ Reference12:General/SSD/Image ]] (IPx11). Unmount the CF card/SSD if necessary. Select &amp;quot;Part 1&amp;quot; before starting the upload!&lt;br /&gt;
  [[image:IPxx10_Linux_-_upload_image.jpg]]&lt;br /&gt;
* Reset the box (which also activates the config change of step 1).&lt;br /&gt;
* Configure IP under [[ Reference10:Linux/IP ]]: select either &amp;quot;Disabled&amp;quot; to assign a static IP or ETH0/ETH1 to receive an IP-Address from DHCP-Server behind ETH0 or ETH1.&lt;br /&gt;
* Configure the kernel file, which you find under [[ Reference10:General/Compact-Flash/General#Browse_CF_Content ]] on [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
** IPxx10 hardware: &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;&lt;br /&gt;
** IPx11 hardware: &amp;lt;code&amp;gt;Image-IPx11-4.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Configure &amp;lt;code&amp;gt;root=/dev/sda2&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;.&lt;br /&gt;
* If you want, configure the autostart flag.&lt;br /&gt;
* Submit your changes.&lt;br /&gt;
* Click the [[ Reference10:Linux/General ]] &#039;&#039;&#039;Start&#039;&#039;&#039;-Link. The page refreshes until Linux gets an IP and then tries to get a link to the Linux Web Server, which can take some time for the first time installation (~ 5 minutes to 2 hours).&lt;br /&gt;
[[Image:device_conf.jpg]]&lt;br /&gt;
* Open the Linux Web Server to see the installation progress (which might take several minutes too). The default credentials are &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; for both platforms.&lt;br /&gt;
[[Image:installation.jpg]]&lt;br /&gt;
* The output of the installation log is stored on the Linux AP under &amp;lt;code&amp;gt;/var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have no access to the web server but a console or SSH access, you can check the installation progress in this log file. E.g. login to the console with root/iplinux and run follwong command: &amp;lt;code&amp;gt;more /var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have an SSH connection to the Linux AP, you can download this file using [http://winscp.net WinSCP] tool.&lt;br /&gt;
* Enter the innovaphone device IP address (optional port allowed) and admin credentials when the installation has finished. Now wait until the page refrehses. The web server credentials are now the innovaphone device admin credentials, e.g. &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;ip6010&#039;&#039;&#039;.&lt;br /&gt;
** If the device couldn&#039;t be reconfigured, you will get an error message &#039;&#039;&#039;Command line at the PBX could not be changed...&#039;&#039;&#039; In this case, you have to open [[ Reference10:Linux/General ]] on your device, click stop and enter &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;. Then start again. Your Linux webserver credentials will be &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; in this case.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
* You will see now &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] since Linux is running in on the fourth partition. You shouldn&#039;t change that unless you want to install Linux again.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (VMWare)===&lt;br /&gt;
&lt;br /&gt;
* Decompress the downloaded archive. You should have two files: &#039;&#039;&#039;IP-Debian.vmx&#039;&#039;&#039; and &#039;&#039;&#039;IP-Debian.vmdk&#039;&#039;&#039;.&lt;br /&gt;
* We can open using Vmware Player/Workstation, if you wish to run on Vsphere 4.x or later please convert it by the same method it&#039;s done with the IPVA (see [[Reference10:Concept_Innovaphone_Virtual_Appliance#VMware_vSphere | Using VMware vSphere]])&lt;br /&gt;
* Now you have two possibilities (example for VMWare Player, VMWare Workstation should be similar):&lt;br /&gt;
** If you want to assign more than 8 GB virtual flash:&lt;br /&gt;
*** Do &#039;&#039;&#039;not&#039;&#039;&#039; directly start/doubleclick the vmx file!&lt;br /&gt;
*** Start the VMware Player and Open the vmx file with &#039;&#039;&#039;Open a Virtual Machine&#039;&#039;&#039;.&lt;br /&gt;
*** Open &#039;&#039;&#039;Edit virtual machine settings&#039;&#039;&#039;.&lt;br /&gt;
*** Select the hard disk and &#039;&#039;&#039;Expand&#039;&#039;&#039; it under &#039;&#039;&#039;Utilities&#039;&#039;&#039; to the wished size.&lt;br /&gt;
*** Apply the change and klick &#039;&#039;&#039;Play virtual machine&#039;&#039;&#039;.&lt;br /&gt;
** If 8 GB are enough, simply double click the vmx file and Linux will start.&lt;br /&gt;
* The first time, a script will automatically configure a new partition, the web server etc., which will take some time. The waiting time depends on the CPU of the computer running the vmware player. In some cases the waiting time can be up to 30 minutes, in most cases the installation finishes in about 2-5 minutes.&lt;br /&gt;
* In the meantime, fetch your IP from the VMWare Player screen or login as root and get your IP address with the command &#039;&#039;&#039;ifconfig&#039;&#039;&#039;.&lt;br /&gt;
* Login to the web server to see the installation progress (it may take some minutes until the web server is up).&lt;br /&gt;
* Linux will restart automatically after the first time installation has finished.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
&lt;br /&gt;
===Hotfix Installation===&lt;br /&gt;
If you have already installed the latest version of the Linux Application Platform, simply download the Linux...HotfixIncremental for your platform (VM or IPxx10/IPx11) or if you have missed some hotfixes, download the Linux...HotfixCumulative archive, which contains all hotfixes since hotfix1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upload this hotfix archive [[Reference10:Concept_Linux_Application_Platform#Upload.2FUpdate|here]].&lt;br /&gt;
&lt;br /&gt;
====Refreshing issue on installation====&lt;br /&gt;
You might get a PHP error when the browser is refreshing during the installation. Just refresh (F5) the page and you&#039;ll get the installation progress again.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade from a previous major Release ===&lt;br /&gt;
For instructions how to upgrade from a previous major release (such as V9 to V10), see &#039;&#039;Upgrading Linux Application Platform&#039;&#039; in [[Howto:Firmware_Upgrade_V9_V10|Firmware Upgrade V9 V10]].&lt;br /&gt;
&lt;br /&gt;
===Static IP===&lt;br /&gt;
The Linux itself &#039;&#039;&#039;must&#039;&#039;&#039; be running in DHCP client mode to run properly. If you want to assign a static IP address, do it like this:&lt;br /&gt;
&lt;br /&gt;
* On an IPxx10/IPxx11: assign a static IP under [[Reference10:Linux/IP]], this will do an internal DHCP response to the Linux that&#039;s running as DHCP client mode.&lt;br /&gt;
* On a VMWare: assign a static IP in your local DHCP server for your MAC address defined in the *.vmx file.&lt;br /&gt;
&lt;br /&gt;
===IPxx10/IPxx11 Transit network for Linux===&lt;br /&gt;
When running Linux on an innovaphone device IPxx10/IPxx11 there is no dedicated network interface for the Linux machine. Instead we have a special transit network between the Linux and the device. The Linux will always operate as DHCP Client mode.&lt;br /&gt;
&lt;br /&gt;
Any ARP request done by the Linux machine will always get the same ARP result that will be the internal &amp;quot;NIC&amp;quot; inside the device, so all packets are always sent to the same IPxx10/IPxx11 device that works as a router. When the packet sent by the Linux machine arrives the innovaphone device, it will follow the IP routing table of the device itself.&lt;br /&gt;
&lt;br /&gt;
In case we have a single network (voice) we will have no problem since the default gateway is just one. However, if we wish to split into two networks (voice and data) and the Linux machine should have a different default gateway, this has no effect since IP routing is based on the innovaphone device IP routing table, because we can&#039;t have two default gateways at the same time.&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
====Configure IP====&lt;br /&gt;
&lt;br /&gt;
The IP configuration on the Linux Application Platform is &#039;&#039;&#039;only&#039;&#039;&#039; available on a &#039;&#039;&#039;VM&#039;&#039;&#039;! A static IP for a Linux Application Platform for an IPxx10/IPxx11 can be configured on your gateway under Linux/IP.&lt;br /&gt;
&lt;br /&gt;
* Mode: either DHCP Client or Static&lt;br /&gt;
* [IP Address]: the desired static IP address&lt;br /&gt;
* [Subnet Mask]&lt;br /&gt;
* [Gateway]&lt;br /&gt;
* [DNS Server]&lt;br /&gt;
* [Alternate DNS Server]&lt;br /&gt;
&lt;br /&gt;
The optional parameters in [] can be only configured, if &#039;&#039;&#039;Static&#039;&#039;&#039; is selected as mode.&lt;br /&gt;
&lt;br /&gt;
====Change the root credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials of the Linux root user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configure Authenticated URLs====&lt;br /&gt;
&lt;br /&gt;
Configure credentials for authenticated URLs. These credentials will be used in automatic backups.&amp;lt;br&amp;gt;&lt;br /&gt;
You can add/remove Urls with the &#039;&#039;&#039;+&#039;&#039;&#039; and &#039;&#039;&#039;-&#039;&#039;&#039; at the right side of the list.&lt;br /&gt;
&lt;br /&gt;
* URL: the URL, e.g. https://172.16.123.123/backup&lt;br /&gt;
* User: the user for this URL&lt;br /&gt;
* Password: the password for this URL&lt;br /&gt;
&lt;br /&gt;
====Configure NTP server====&lt;br /&gt;
&lt;br /&gt;
Configures a NTP server.&lt;br /&gt;
&lt;br /&gt;
* NTP Server: the IP of the NTP Server&lt;br /&gt;
&lt;br /&gt;
====Change Timezone====&lt;br /&gt;
&lt;br /&gt;
Default is Europe/Berlin but you can change that to a valid timezone (an error is given if timezone not present).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Change postgresql admin password====&lt;br /&gt;
&lt;br /&gt;
If innovaphone Reporting is installed, you can configure another password for the postgres admin user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;postgres&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Web Server===&lt;br /&gt;
&lt;br /&gt;
We use lighttpd version 1.4.32. The linux web server user is &#039;&#039;&#039;www-data&#039;&#039;&#039; and group user also &#039;&#039;&#039;www-data&#039;&#039;&#039;. Root directory for the web-server is &#039;&#039;&#039;/var/www/innovaphone&#039;&#039;&#039;. This information is mainly relevant if you plan to develope custom applications and integrate them into linux application platform.&lt;br /&gt;
&lt;br /&gt;
Default users and password for the different levels on the Linux application plattform (see figure below):&lt;br /&gt;
[[image:Linux_Application_hierarki.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Change web server properties and public access to the web/webdav====&lt;br /&gt;
* Force HTTPS: enables redirection for HTTP to HTTPS&lt;br /&gt;
* Public Web Paths: these paths are not password protected, e.g. &#039;/ap&#039;&lt;br /&gt;
* Public Webdav Paths: these webdav paths are not password protected, e.g. &#039;/backup&#039;&lt;br /&gt;
** These paths are by default readonly. You can set the &#039;Write&#039; flag to make the path also writable. This flag will be anyway ignored if credentials are provided.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;IPadr&amp;gt;&#039;&#039;&amp;lt;code&amp;gt;/webdav/&amp;lt;/code&amp;gt; is the root directory for webdav files. If you want to access a directory/file without credentials you have to add this directory to the Public Webdav Paths.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;/webdav/background/&amp;lt;/code&amp;gt; Here you have the background pictures for your Phones.&amp;lt;br&amp;gt;&lt;br /&gt;
Public Webdav Paths: &amp;lt;code&amp;gt;/background&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/background/a&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Now you have a public access to the folder background. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enter a single &#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039; for a public root directory. All sub directories and files will be also public then.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update/&amp;lt;/code&amp;gt;&#039;, the directory &#039;update&#039; and all sub directories/files will be public.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;&#039;, only the directory &#039;update&#039; and its files will be public.&lt;br /&gt;
&lt;br /&gt;
Important: Linux file names are case sensitive (so &amp;lt;code&amp;gt;/Update&amp;lt;/code&amp;gt; is not equal &amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;)!.&lt;br /&gt;
&lt;br /&gt;
====Change the Linux web server credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for Web Server access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change the Linux webdav access credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for webdav access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change application access credentials====&lt;br /&gt;
&lt;br /&gt;
If you have installed an application, which has the lighttpd-auth property set in its configuration file, you can configure a separate user/password for the applications web site.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to disable the separate authentication, leave the &#039;&#039;&#039;user&#039;&#039;&#039; field empty and enter the currently configured password. The authentication will be the same as the root web server authentication afterwards.&amp;lt;br&amp;gt;&lt;br /&gt;
One can just login on the application web site with this access.&lt;br /&gt;
&lt;br /&gt;
A configured access overrides a configured public web path to &#039;/apps/application-name&#039;!&lt;br /&gt;
&lt;br /&gt;
====Configure mutual TLS====&lt;br /&gt;
&lt;br /&gt;
If you need mutual TLS for innovaphone devices with a certificate signed by innovaphone, you can activate mutual TLS for a configurable &#039;&#039;&#039;port&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently we&#039;re just supporting client certificates signed by innovaphone&#039;s &#039;&#039;innovaphone Device Certification Authority&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The physical mutual TLS path is &#039;&#039;&#039;/var/www/innovaphone/mtls&#039;&#039;&#039;. Here you can put your script files, e.g. mtls.php.&amp;lt;br&amp;gt;&lt;br /&gt;
You then call this script file by &#039;&#039;&#039;https://linux-ip:mtls-port/mtls.php&#039;&#039;&#039;, as this path is the document root for the configured port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to upload the script:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Using a webdav client (like NetDrive) upload the script to the webdav folder.&lt;br /&gt;
Afterwards connect with Putty to the linux.&lt;br /&gt;
&lt;br /&gt;
The uploaded file is under /var/www/innovaphone/webdav and we must move it to /var/www/innovaphone/mtls&lt;br /&gt;
&lt;br /&gt;
===Certificates===&lt;br /&gt;
&lt;br /&gt;
The current server certificate installed on the web server is shown here. A self signed certificate, innovaphone-linux, is installed by default. It is recommended to change it with your own certificate.&lt;br /&gt;
&lt;br /&gt;
It is also possible to trust or reject other certificates.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Currently the LAP doesn&#039;t support the upload of a password protected certificate. As a workaround it is possible to convert the certificate with OpenSSL (on windows or Linux) to PEM format without password and upload this one.&lt;br /&gt;
&lt;br /&gt;
With the following openssl command, the password protected certificate can be changed into an unprotected certificate. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl pkcs12 -in&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithPasswort&#039;&#039; &amp;lt;code&amp;gt;-out&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithoutPasswort&#039;&#039;.pem &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The unprotected certificate should be deleted directly after upload for security reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to create a private, unsigned certificate you can do this with the following commands on the Linux AP CLI.&lt;br /&gt;
It is best to go in a folder which can be reached via http later as &amp;lt;code&amp;gt;/var/www/innovaphone/webdav/...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days xxxx (insert number)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt; if you don&#039;t want to protect your private key with a passphrase.&lt;br /&gt;
&lt;br /&gt;
You now will be asked for certificate information.&lt;br /&gt;
&lt;br /&gt;
To merge the certificate and key you can enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat cert.pem &amp;gt;&amp;gt; key.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file key.pem can now be uploaded via the web interface of the Linux AP.&lt;br /&gt;
&lt;br /&gt;
===Backup===&lt;br /&gt;
&lt;br /&gt;
The web server can be configured to poll a Command File URL (on a web server).&amp;lt;br&amp;gt;&lt;br /&gt;
The backup process is similar to [[Reference10:Services/Update]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alarm server can be also configured to receive alarms during an automatic backup: [[ #Alarm_Server | Alarm Server under Diagnostics ]].&lt;br /&gt;
&lt;br /&gt;
At the bottom you will see a list of the current automatic backup serials from the Command File URL and the log of the last automatic backups.&lt;br /&gt;
&lt;br /&gt;
[[Image:backup_restore.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Command File====&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 saveinnovaphonecfgs http://172.16.123.123/webdav/backup/cfgs-#i-#b10.tar.gz&lt;br /&gt;
&lt;br /&gt;
The available default commands are:&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonecfgs=====&lt;br /&gt;
&lt;br /&gt;
Saves all neccessary configuration files (no application specific files) as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonelogs=====&lt;br /&gt;
&lt;br /&gt;
Saves all available (also application related) log files as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====times=====&lt;br /&gt;
Executes the following command(s) only, if the specified time matches and only once per hour (independent of poll timeout value).&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# both commands always executed&lt;br /&gt;
saveinnovaphonelogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-logs-#i-#m-#b10.tar.gz&lt;br /&gt;
saveinnovaphonecfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-cfg-#i-#m-#b10.tar.gz&lt;br /&gt;
# commands only from monday till saturday at 10am and 11am executed. &lt;br /&gt;
times day:1,2,3,4,5 hour:10,11 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
# commands only Saturdays and Sundays at 00am executed. &lt;br /&gt;
times day:6,7 hour:00 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* day goes from 1 (Monday) to 7 (Sunday).&amp;lt;br&amp;gt;&lt;br /&gt;
* hour goes from 00 to 23.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can specify multiple times commands to override the last one.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Backup file name macros=====&lt;br /&gt;
&lt;br /&gt;
You can use some macros for the backup filename:&lt;br /&gt;
&lt;br /&gt;
* #i - will be replaced with the current IP address&lt;br /&gt;
* #m - will be replaced with the current MAC address&lt;br /&gt;
* #d - will be replaced with date/time in format Ymd-His (20110231-111010)&lt;br /&gt;
* #bxx - will be replaced with the current backup index, whilst xx is the maximum index&lt;br /&gt;
&lt;br /&gt;
====Save configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to see all available files/data/logs to download them manually.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be saved!&lt;br /&gt;
&lt;br /&gt;
====Restore configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to restore all available files/data.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be restored!&lt;br /&gt;
&lt;br /&gt;
===Relay Hosts===&lt;br /&gt;
&lt;br /&gt;
The Application Platform contains a mail client which speaks SMTP. &lt;br /&gt;
The SMTP daemon (postfix) looks up by default the DNS MX record of the recipient email address.&amp;lt;br&amp;gt;&lt;br /&gt;
Relay SMTP hosts can also be configured to deliver the mails. Each relay host is related to a &#039;&#039;&#039;sender&#039;&#039;&#039; mail address or a &#039;&#039;&#039;sender&#039;&#039;&#039; mail domain. TLS is used if the host supports it.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of the server entry:&lt;br /&gt;
; mydomain.com: MX record to the domain&lt;br /&gt;
; smtphost: host name with MX record lookup&lt;br /&gt;
; [gateway.example.com]: host name with DNS lookup&lt;br /&gt;
; [an.ip.add.ress]: IP address without DNS lookup&lt;br /&gt;
The form [hostname] turns off MX lookups. See also [http://www.postfix.org/postconf.5.html#relayhost the postfix documentation].&amp;lt;br&amp;gt;&lt;br /&gt;
If anonymous SMTP is to be used, user and password must be left empty.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:relay_hosts.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Important to use &amp;quot;[]&amp;quot; like the picture.&lt;br /&gt;
&lt;br /&gt;
Currently innovaphone Reporting and innovaphone Faxserver are using these relay hosts, if entered.&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
&lt;br /&gt;
The innovaphone database is created to store e.g. relay hosts. &lt;br /&gt;
PostgreSQL is also available for other applications and any of them could create its own database. &lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
&lt;br /&gt;
The database user is &#039;&#039;&#039;innovaphone&#039;&#039;&#039; with default password &#039;&#039;&#039;innovaphone&#039;&#039;&#039;. &lt;br /&gt;
This password may be changed here.&lt;br /&gt;
&lt;br /&gt;
====Remote Access====&lt;br /&gt;
&lt;br /&gt;
There are tools (PgAdmin III) that allow to connect to application databases remotely. &lt;br /&gt;
It is first needed to configure the IP you are connecting from here. (Only Single-IP entry it&#039;s allowed, no submask or wildcard for multiple IPs)&lt;br /&gt;
&lt;br /&gt;
For the PgAdmin III it is imporant to use innovaphone as Service-DB (Wartungs-DB). Default login credentials - User: innovaphone - Password: innovaphone&lt;br /&gt;
&lt;br /&gt;
===Announcements===&lt;br /&gt;
&lt;br /&gt;
You can upload a 16bit,8khz,mono wave file, which will be converted to G711U/G711A/G723/G729 .&amp;lt;br&amp;gt;&lt;br /&gt;
The converted files will be stored inside the webdav/announcements folder, e.g. http://172.16.111.111/webdav/announcements/test.g7xx&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you check the &#039;&#039;&#039;Return files as ZIP file&#039;&#039;&#039; flag, you will get a ZIP file, which contains the converted files. These files are not stored locally then! &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For the new Codec G722, OPUS-NB and OPUS-WB you have to use the online converter available on my.innovaphone portal (login necessary first): https://my.innovaphone.com/support.php or on our website https://www.innovaphone.com/en/support/convert.html. No Conversion of new codecs is possible with Linux AP !&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
===List===&lt;br /&gt;
&lt;br /&gt;
A list of all currently installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
If an application has an own web interface, you can reach it by using the application name link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Uninstall====&lt;br /&gt;
Use the uninstall link in the list to uninstall an application.&lt;br /&gt;
&lt;br /&gt;
===Upload/Update===&lt;br /&gt;
&lt;br /&gt;
Here all new applications, application updates and application platform updates are installed.&amp;lt;br&amp;gt;&lt;br /&gt;
After uploading the file, the installation will start automatically and the installation process will be shown. The page refreshes until the installation has finished.&lt;br /&gt;
&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
&lt;br /&gt;
===Logs===&lt;br /&gt;
&lt;br /&gt;
Here you can view, download or clear the available log files from the application platform or from installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also download all log files at once (this archiv also contains older versions from the log files).&lt;br /&gt;
&lt;br /&gt;
===RPCAP===&lt;br /&gt;
&lt;br /&gt;
Enable/disable RPCAP for use with Wireshark.&amp;lt;br&amp;gt;&lt;br /&gt;
A link will be displayed, which you can use within Wireshark.&lt;br /&gt;
&lt;br /&gt;
===Alarm Server===&lt;br /&gt;
&lt;br /&gt;
Configure an innovaphone device as alarm server:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ip&#039;&#039;&#039;: IP address of the innovaphone device&lt;br /&gt;
* [&#039;&#039;&#039;port&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;user&#039;&#039;&#039;]: user for authentication to the alarm server &lt;br /&gt;
* [&#039;&#039;&#039;password&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;https&#039;&#039;&#039;]: use https to send the alarm&lt;br /&gt;
&lt;br /&gt;
Options in &#039;&#039;&#039;[]&#039;&#039;&#039; are optional.&lt;br /&gt;
&lt;br /&gt;
 Alarms from installed applications or the application platform itself will be sent to this configured server.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
View the disk usage.&lt;br /&gt;
&lt;br /&gt;
===Reset===&lt;br /&gt;
====IPxx10====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform. You&#039;ll have to restart it over the IPxx10 gateway.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform or reboot it.&lt;br /&gt;
&lt;br /&gt;
===Status PHP script===&lt;br /&gt;
http://LinuxAP/status.php returns an XML file containing the output from the following linux commands:&amp;lt;br&amp;gt;&lt;br /&gt;
* df -H&lt;br /&gt;
* free -h&lt;br /&gt;
* uptime&lt;br /&gt;
* ps -wwweo pid,lstart,time,etime,pcpu,pmem,rsz,vsz,args&lt;br /&gt;
* ss -A inet -ap&lt;br /&gt;
* top -b -n 1&lt;br /&gt;
&lt;br /&gt;
==Use as Log or Alarm Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as a server for innovaphone logs.&amp;lt;br&amp;gt;&lt;br /&gt;
Configure Local-AP(-s)/Remote-AP(-s) on [[Reference10:Services/Logging]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The following scripts are used to retrieve the logs/alarms:&lt;br /&gt;
* logs: /ap/log.fcgi&lt;br /&gt;
* alarms: /ap/alarm.fcgi&lt;br /&gt;
&lt;br /&gt;
So you can make the path &#039;&#039;&#039;/ap&#039;&#039;&#039; public on the &#039;&#039;Linux Web Server&#039;&#039; or you configure an authenticated URL for these files/this path on your &#039;&#039;innovaphone gateway&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 If you configure an authenticated URL, don&#039;t forget to configure port 80 or port 443 for secure transport (Remote-AP-S) like&lt;br /&gt;
 https://111.111.111.111:443/ap or http://111.111.111.111:80/ap&lt;br /&gt;
&lt;br /&gt;
The log and alarm files will be saved unter http://LAP/webdav/log or /alarm. The files are rotated after 1 MB size and four times, so you&#039;ll have max 5 files.&lt;br /&gt;
&lt;br /&gt;
==Use as File/VM-Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as file server, e.g. for udpate scripts, voicemail etc.&amp;lt;br&amp;gt;&lt;br /&gt;
You can access the server with a webdav client via &#039;&#039;&#039;http(s)://Linux-IP/webdav&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Public access to certain paths etc. can be configured under the [[Reference10:Concept_Linux_Application_Platform#Web_Server | web server configuration]].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the Linux Filesystem(ext3) is case sensetive. The PBX will always search for lowercase letters. If you name your file ‘greetings.G711A’ it won’t be found. You have to name the file ‘greetings.g711a’.&lt;br /&gt;
&lt;br /&gt;
==Enable further Tracing==&lt;br /&gt;
There are different trace options, which can be enabled by calling a certain php script:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://LINUX-IP/trace.php?level=127&lt;br /&gt;
&lt;br /&gt;
The level is calculated by the addition of one or multiple of the following trace options:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 || &#039;&#039;&#039;Option&#039;&#039;&#039; || &#039;&#039;&#039;To add&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_STD || 1&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_DB || 2&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_TIME || 4&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW_TOTAL || 8&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW || 16&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_PARSE_CFG || 32&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_LDAP || 64&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_XML || 128&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So currently all trace options are enabled with the level &#039;&#039;&#039;255&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default trace level are &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
===Creating own applications===&lt;br /&gt;
See [[Reference10:Concept Linux Application]]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
====NetDrive====&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/software/download/netdrive/55134 NetDrive] is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.&lt;br /&gt;
&lt;br /&gt;
====Putty====&lt;br /&gt;
&lt;br /&gt;
[http://www.putty.org/ Putty] is SSH client to connect to the linux application platform.&lt;br /&gt;
&lt;br /&gt;
===Manual Debian Upgrade===&lt;br /&gt;
If you have installed one of our upgrade hotfixes and you had installed packages, which weren&#039;t included in innovaphone applications, the upgrade of some packages might have failed. You will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
The following packages couldn&#039;t be upgraded due to missing dependencies: php5-cgi php5-cli&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have to perfom some actions yourself:&lt;br /&gt;
* make sure, your Linux Application Platform has internet access&lt;br /&gt;
* login with a terminal client like Putty&lt;br /&gt;
* start &#039;apt-get update&#039;&lt;br /&gt;
* start &#039;apt-get install php5-cgi php5-cli&#039; (list the packages of the warning message)&lt;br /&gt;
* delete the file /var/www/innovaphone/log/missing_packages.log to clear the warning message:&lt;br /&gt;
** rm /var/www/innovaphone/log/missing_packages.log&lt;br /&gt;
&lt;br /&gt;
Your installation should be now up to date again.&lt;br /&gt;
&lt;br /&gt;
===Configuring a new Kernel===&lt;br /&gt;
If you have installed a hotfix with a new kernel, you will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
You&#039;re not running the latest kernel Image-6010-3.4.10!&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change to the new kernel, you have to reconfigure something on your device, where the CF card is plugged in.&lt;br /&gt;
* First shutdown your Linux (see [[ Reference10:Concept_Linux_Application_Platform#IPxx10 ]])&lt;br /&gt;
* Stop Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
* Configure the latest kernel file (currently &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;) under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
* Start Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
&lt;br /&gt;
===Alarms of the Application Platform===&lt;br /&gt;
If you have configured an [[ #Alarm_Server | Alarm Server]], you will receive certain alarms.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, the following alarms exist:&lt;br /&gt;
&lt;br /&gt;
* Disk Usage &amp;gt;= 90%&lt;br /&gt;
* read-only mounted partition&lt;br /&gt;
* bad blocks on CF cards&lt;br /&gt;
* Alarms for the innovaphone Reporting Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Exchange Calendar Connector Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Faxserver Application, if installed&lt;br /&gt;
&lt;br /&gt;
===Initially installed packages===&lt;br /&gt;
&lt;br /&gt;
The following packages are already installed without any application:&lt;br /&gt;
&lt;br /&gt;
* adduser&lt;br /&gt;
* apt&lt;br /&gt;
* apt-utils&lt;br /&gt;
* aptitude&lt;br /&gt;
* aptitude-common&lt;br /&gt;
* base-files&lt;br /&gt;
* base-passwd&lt;br /&gt;
* bash&lt;br /&gt;
* binutils&lt;br /&gt;
* bsdmainutils&lt;br /&gt;
* bsdutils&lt;br /&gt;
* bzip2&lt;br /&gt;
* ca-certificates&lt;br /&gt;
* comerr-dev&lt;br /&gt;
* coreutils&lt;br /&gt;
* cpio&lt;br /&gt;
* cpp&lt;br /&gt;
* cpp-4.7&lt;br /&gt;
* cpp-4.6&lt;br /&gt;
* cron&lt;br /&gt;
* curl&lt;br /&gt;
* dash&lt;br /&gt;
* db-util&lt;br /&gt;
* db5.1-util&lt;br /&gt;
* debconf&lt;br /&gt;
* debconf-i18n&lt;br /&gt;
* debian-archive-keyring&lt;br /&gt;
* debianutils&lt;br /&gt;
* diffutils&lt;br /&gt;
* dmidecode&lt;br /&gt;
* dmsetup&lt;br /&gt;
* dos2unix&lt;br /&gt;
* dovecot-common&lt;br /&gt;
* dovecot-core&lt;br /&gt;
* dovecot-pgsql&lt;br /&gt;
* dovecot-pop3d&lt;br /&gt;
* dovecot-sieve&lt;br /&gt;
* dpkg&lt;br /&gt;
* e2fslibs&lt;br /&gt;
* e2fsprogs&lt;br /&gt;
* file&lt;br /&gt;
* findutils&lt;br /&gt;
* gamin&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc-4.7&lt;br /&gt;
* gcc-4.6&lt;br /&gt;
* gcc-4.6-base&lt;br /&gt;
* gcc-4.7-base&lt;br /&gt;
* gettext-base&lt;br /&gt;
* gnupg&lt;br /&gt;
* gpgv&lt;br /&gt;
* grep&lt;br /&gt;
* groff-base&lt;br /&gt;
* grub-common&lt;br /&gt;
* grub-legacy&lt;br /&gt;
* gzip&lt;br /&gt;
* hdparm&lt;br /&gt;
* hostname&lt;br /&gt;
* ifupdown&lt;br /&gt;
* info&lt;br /&gt;
* initramfs-tools&lt;br /&gt;
* initscripts&lt;br /&gt;
* insserv&lt;br /&gt;
* install-info&lt;br /&gt;
* iproute&lt;br /&gt;
* iptables&lt;br /&gt;
* iputils-ping&lt;br /&gt;
* isc-dhcp-client&lt;br /&gt;
* isc-dhcp-common&lt;br /&gt;
* klibc-utils&lt;br /&gt;
* kmod&lt;br /&gt;
* krb5-multidev&lt;br /&gt;
* libacl1&lt;br /&gt;
* libapt-inst1.5&lt;br /&gt;
* libapt-pkg4.12&lt;br /&gt;
* libasprintf0c2&lt;br /&gt;
* libattr1&lt;br /&gt;
* libblkid1&lt;br /&gt;
* libboost-iostreams1.49.0&lt;br /&gt;
* libbsd0&lt;br /&gt;
* libbz2-1.0&lt;br /&gt;
* libbz2-dev&lt;br /&gt;
* libc-bin&lt;br /&gt;
* libc-client2007e&lt;br /&gt;
* libc-dev-bin&lt;br /&gt;
* libc6&lt;br /&gt;
* libc6-dev&lt;br /&gt;
* libcap2&lt;br /&gt;
* libclass-isa-perl&lt;br /&gt;
* libcomerr2&lt;br /&gt;
* libcurl3&lt;br /&gt;
* libcurl4-openssl-dev&lt;br /&gt;
* libcwidget3&lt;br /&gt;
* libdb5.1&lt;br /&gt;
* libdevmapper1.02.1&lt;br /&gt;
* libedit2&lt;br /&gt;
* libept1.4.12&lt;br /&gt;
* libexpat1&lt;br /&gt;
* libfcgi-dev&lt;br /&gt;
* libfcgi0ldbl&lt;br /&gt;
* libffi5&lt;br /&gt;
* libfreetype6&lt;br /&gt;
* libfuse2&lt;br /&gt;
* libgamin-dev&lt;br /&gt;
* libgamin0&lt;br /&gt;
* libgcc1&lt;br /&gt;
* libgcrypt11&lt;br /&gt;
* libgcrypt11-dev&lt;br /&gt;
* libgdbm-dev&lt;br /&gt;
* libgdbm3&lt;br /&gt;
* libglib2.0-0&lt;br /&gt;
* libgmp10&lt;br /&gt;
* libgnutls-dev&lt;br /&gt;
* libgnutls-openssl27&lt;br /&gt;
* libgnutls26&lt;br /&gt;
* libgnutlsxx27&lt;br /&gt;
* libgomp1&lt;br /&gt;
* libgpg-error-dev&lt;br /&gt;
* libgpg-error0&lt;br /&gt;
* libgpgme11&lt;br /&gt;
* libgpm2&lt;br /&gt;
* libgssapi-krb5-2&lt;br /&gt;
* libgssrpc4&lt;br /&gt;
* libidn11&lt;br /&gt;
* libidn11-dev&lt;br /&gt;
* libitm1&lt;br /&gt;
* libk5crypto3&lt;br /&gt;
* libkadm5clnt-mit8&lt;br /&gt;
* libkadm5srv-mit8&lt;br /&gt;
* libkdb5-6&lt;br /&gt;
* libkeyutils1&lt;br /&gt;
* libklibc&lt;br /&gt;
* libkmod2&lt;br /&gt;
* libkrb5-3&lt;br /&gt;
* libkrb5-dev&lt;br /&gt;
* libkrb5support0&lt;br /&gt;
* libldap-2.4-2&lt;br /&gt;
* libldap2-dev&lt;br /&gt;
* liblocale-gettext-perl&lt;br /&gt;
* liblzma5&lt;br /&gt;
* libmagic1&lt;br /&gt;
* libmemcache-dev&lt;br /&gt;
* libmemcache0&lt;br /&gt;
* libmount1&lt;br /&gt;
* libmpc2&lt;br /&gt;
* libmpfr4&lt;br /&gt;
* libmysqlclient18&lt;br /&gt;
* libncurses5&lt;br /&gt;
* libncursesw5&lt;br /&gt;
* libnewt0.52&lt;br /&gt;
* libnfnetlink0&lt;br /&gt;
* libonig2&lt;br /&gt;
* libopts25&lt;br /&gt;
* libp11-kit-dev&lt;br /&gt;
* libp11-kit0&lt;br /&gt;
* libpam-modules&lt;br /&gt;
* libpam-modules-bin&lt;br /&gt;
* libpam-pgsql&lt;br /&gt;
* libpam-runtime&lt;br /&gt;
* libpam0g&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* libparted0debian1&lt;br /&gt;
* libpcre3&lt;br /&gt;
* libpcre3-dev&lt;br /&gt;
* libpcrecpp0&lt;br /&gt;
* libpipeline1&lt;br /&gt;
* libpng12-0&lt;br /&gt;
* libpng12-dev&lt;br /&gt;
* libpopt0&lt;br /&gt;
* libpq-dev&lt;br /&gt;
* libpq5&lt;br /&gt;
* libprocps0&lt;br /&gt;
* libpth20&lt;br /&gt;
* libqdbm14&lt;br /&gt;
* libquadmath0&lt;br /&gt;
* libreadline6&lt;br /&gt;
* librtmp-dev&lt;br /&gt;
* librtmp0&lt;br /&gt;
* libsasl2-2&lt;br /&gt;
* libsasl2-modules&lt;br /&gt;
* libselinux1&lt;br /&gt;
* libsemanage-common&lt;br /&gt;
* libsemanage1&lt;br /&gt;
* libsepol1&lt;br /&gt;
* libsigc++-2.0-0c2a&lt;br /&gt;
* libslang2&lt;br /&gt;
* libsqlite3-0&lt;br /&gt;
* libsqlite3-dev&lt;br /&gt;
* libss2&lt;br /&gt;
* libssh2-1&lt;br /&gt;
* libssh2-1-dev&lt;br /&gt;
* libssl-dev&lt;br /&gt;
* libssl1.0.0&lt;br /&gt;
* libstdc++6&lt;br /&gt;
* libtasn1-3&lt;br /&gt;
* libtasn1-3-dev&lt;br /&gt;
* libtext-charwidth-perl&lt;br /&gt;
* libtext-iconv-perl&lt;br /&gt;
* libtext-wrapi18n-perl&lt;br /&gt;
* libtinfo5&lt;br /&gt;
* libtokyocabinet9&lt;br /&gt;
* libudev0&lt;br /&gt;
* libusb-0.1-4&lt;br /&gt;
* libustr-1.0-1&lt;br /&gt;
* libuuid-perl&lt;br /&gt;
* libuuid1&lt;br /&gt;
* libwrap0&lt;br /&gt;
* libxapian22&lt;br /&gt;
* libxml2&lt;br /&gt;
* libxml2-dev&lt;br /&gt;
* libxml2-utils&lt;br /&gt;
* linux-base&lt;br /&gt;
* linux-image-3.2.0-4-686-pae&lt;br /&gt;
* linux-libc-dev&lt;br /&gt;
* locales&lt;br /&gt;
* login&lt;br /&gt;
* logrotate&lt;br /&gt;
* lsb-base&lt;br /&gt;
* lsb-release&lt;br /&gt;
* make&lt;br /&gt;
* makedev&lt;br /&gt;
* man-db&lt;br /&gt;
* manpages&lt;br /&gt;
* manpages-dev&lt;br /&gt;
* mawk&lt;br /&gt;
* mime-support&lt;br /&gt;
* mlock&lt;br /&gt;
* module-init-tools&lt;br /&gt;
* mount&lt;br /&gt;
* multiarch-support&lt;br /&gt;
* mysql-common&lt;br /&gt;
* nano&lt;br /&gt;
* ncurses-base&lt;br /&gt;
* ncurses-bin&lt;br /&gt;
* net-tools&lt;br /&gt;
* netbase&lt;br /&gt;
* netcat-traditional&lt;br /&gt;
* ntp&lt;br /&gt;
* ntpdate&lt;br /&gt;
* openssh-client&lt;br /&gt;
* openssh-server&lt;br /&gt;
* openssl&lt;br /&gt;
* parted&lt;br /&gt;
* passwd&lt;br /&gt;
* patch&lt;br /&gt;
* perl-base&lt;br /&gt;
* php-pear&lt;br /&gt;
* php-xml-parser&lt;br /&gt;
* php-xml-serializer&lt;br /&gt;
* php5-cgi&lt;br /&gt;
* php5-cli&lt;br /&gt;
* php5-common&lt;br /&gt;
* php5-curl&lt;br /&gt;
* php5-imap&lt;br /&gt;
* php5-pgsql&lt;br /&gt;
* php5-xcache&lt;br /&gt;
* pkg-config&lt;br /&gt;
* postfix&lt;br /&gt;
* postfix-pcre&lt;br /&gt;
* postfix-pgsql&lt;br /&gt;
* postgresql-9.1&lt;br /&gt;
* postgresql-client-9.1&lt;br /&gt;
* postgresql-client-common&lt;br /&gt;
* postgresql-common&lt;br /&gt;
* procps&lt;br /&gt;
* psmisc&lt;br /&gt;
* python&lt;br /&gt;
* python-minimal&lt;br /&gt;
* python2.7&lt;br /&gt;
* python2.7-minimal&lt;br /&gt;
* rdate&lt;br /&gt;
* readline-common&lt;br /&gt;
* rsyslog&lt;br /&gt;
* sasl2-bin&lt;br /&gt;
* sed&lt;br /&gt;
* sensible-utils&lt;br /&gt;
* shared-mime-info&lt;br /&gt;
* ssh&lt;br /&gt;
* ssl-cert&lt;br /&gt;
* sudo&lt;br /&gt;
* sysv-rc&lt;br /&gt;
* sysvinit&lt;br /&gt;
* sysvinit-utils&lt;br /&gt;
* tar&lt;br /&gt;
* tasksel&lt;br /&gt;
* tasksel-data&lt;br /&gt;
* traceroute&lt;br /&gt;
* tzdata&lt;br /&gt;
* ucf&lt;br /&gt;
* udev&lt;br /&gt;
* util-linux&lt;br /&gt;
* uuid-dev&lt;br /&gt;
* vim&lt;br /&gt;
* vim-common&lt;br /&gt;
* vim-runtime&lt;br /&gt;
* vim-tiny&lt;br /&gt;
* wget&lt;br /&gt;
* whiptail&lt;br /&gt;
* xz-utils&lt;br /&gt;
* zlib1g&lt;br /&gt;
* zlib1g-dev&lt;br /&gt;
* lighttpd-mod-webdav&lt;br /&gt;
* lighttpd&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
=== Do not update Debian Packages ===&lt;br /&gt;
The Linux application platform comes with the tested set of required Debian packages.  &#039;&#039;It is not recommended to do a manual update of those packages&#039;&#039; (or the kernel itself).  We have seen situations where updated packages had been changed in a non-downward compatible fashion - resulting in the applications running on the Linux application platform not working properly an more!&lt;br /&gt;
&lt;br /&gt;
===Separate authentication for innovaphone applications===&lt;br /&gt;
If you configured a separate authentication, it depends on the used browser, whether you have to re-authenticate on switching between the root web and the innovaphone application web access or not.&lt;br /&gt;
&lt;br /&gt;
===Refreshing issue on hotfix installation===&lt;br /&gt;
[[ Reference10:Concept_Linux_Application_Platform#Refreshing_issue_on_installation | See here. ]]&lt;br /&gt;
&lt;br /&gt;
===Kernel Update in VM Platform===&lt;br /&gt;
The installation of a new kernel fails and this process leaves the system unstable, not being able to install any more debian packages. Hotfix installations will probably fail.&lt;br /&gt;
&lt;br /&gt;
===Outdated packages? Debian Upgrade?===&lt;br /&gt;
From time to time we will deliver upgraded debian packages with a new hotfix. As we have to insure compatibility with our applications, we won&#039;t perform an upgrade for each hotfix!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please do &#039;&#039;&#039;not&#039;&#039;&#039; perform an update/upgrade yourself, as this will break future hotfix/application releases. Sometimes we deliver debian packages in our hotfixes and dependencies might be broken if you update/upgrade yourself.&lt;br /&gt;
&lt;br /&gt;
====I want to do it anyway!!!====&lt;br /&gt;
Ok, save your application/ap configuration and data files and install our latest &#039;&#039;&#039;FULL&#039;&#039;&#039; release without any hotfix. Restore the configuration/data files and perform your update/upgrade. Now you can be happy, if everything still works fine...&amp;lt;br&amp;gt;&lt;br /&gt;
Perform these steps for each new hotfix release, as you might not be able to apply a new hotfix.&lt;br /&gt;
&lt;br /&gt;
==How To==&lt;br /&gt;
===Reset webserver/webdav passwords===&lt;br /&gt;
In case you have lost your webserver or webdav password, but you still have the root credentials, you can login with SSH and execute the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;admin:Linux Web Server:c33c4d3f554367d5d1c3c9bf36803024&amp;quot; &amp;gt; /home/lighttpd/lighttpd_htdigest.user&lt;br /&gt;
echo &amp;quot;admin:Linux Webdav:7182e328a0531dd2d44d225f36da6b87&amp;quot; &amp;gt; /home/lighttpd/webdav_htdigest.user&lt;br /&gt;
/etc/init.d/lighttpd restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you can access your webserver/webdav with &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===Installation process failed===&lt;br /&gt;
&lt;br /&gt;
When the installation process stuck either because it doesn&#039;t get IP or services are not refresh/finished there is some additional information we could get from the Compact Flash that could help us understanding what is failing and if necessary open a support ticket and include this information in the ticket to innovaphone.&lt;br /&gt;
&lt;br /&gt;
*  Stop the linux and check General-&amp;gt;Compact Flash &amp;quot;Browse files&amp;quot;. All files in there might be helpfull (all but the kernel, of course).&lt;br /&gt;
*  Start the linux and check if you can connect to the configured/expected IP address via Putty after ~1 minute.&lt;br /&gt;
&lt;br /&gt;
Note: The file /var/log/init_install.log might help us to get a clue of the failure.&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Linux Application Platform]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Linux_Application_Platform&amp;diff=44863</id>
		<title>Reference10:Concept Linux Application Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Linux_Application_Platform&amp;diff=44863"/>
		<updated>2016-11-18T14:32:59Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Linux Application Platform (IPxx10 or IPx11 Gateways) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The innovaphone Linux Application Platform permits to install innovaphone or custom applications for certain purposes, like Reporting or a Fax Server.&amp;lt;br&amp;gt;&lt;br /&gt;
It also allows to backup/restore configuration files, uninstall applications or see and backup logs.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Linux distribution Debian 7.1 (Wheezy) is used and linux kernel is 3.4.10 (IPxx10) and 3.2.0.4 (VM)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The architecture of the platform is armel.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use the innovaphone Linux Application Platform:&lt;br /&gt;
&lt;br /&gt;
===On an IPxx10 Gateway===&lt;br /&gt;
* An IP810, IP0010, IP3010 or IP6010 Gateway&lt;br /&gt;
* Firmware Version 10&lt;br /&gt;
* A compact flash card with UDMA support (minimum 8 GB)&lt;br /&gt;
** We recommend SanDisk Extreme with UDMA and 90 MB/s or above&lt;br /&gt;
&lt;br /&gt;
===On an IPx11 Gateway===&lt;br /&gt;
* An IP0011, IP311, IP411, IP811 or IP3011 Gateway&lt;br /&gt;
* Firmware Version 11r2&lt;br /&gt;
* An SSD mSATA&lt;br /&gt;
&lt;br /&gt;
===As a Virtual Machine===&lt;br /&gt;
* VMWare Player/VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
* Minimal Requirements for the Virtual Machine:&lt;br /&gt;
 1vCPU ( we run 800 MHZ CPU on our IPXX10 Gateways, so similar speed or higher it&#039;s enough, nevertheless depending on the operations/load you could need more CPU speed/vCPU)&lt;br /&gt;
 512 MB RAM&lt;br /&gt;
 8GB Disk&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Download the latest Linux Application Platform from [https://download.innovaphone.com download.innovaphone.com ].&amp;lt;br&amp;gt;&lt;br /&gt;
You can download and install two different packages:&lt;br /&gt;
&lt;br /&gt;
===Default Credentials===&lt;br /&gt;
* Web/Webdav: &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
* Root-Login (e.g. with Putty): &#039;&#039;&#039;root&#039;&#039;&#039;/&#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Disk space calculation===&lt;br /&gt;
See [[Reference10:Concept_Reporting#Calculation_of_required_disk_space]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
It is strongly recommended that you try to precalculate the needed disk space and that you choose a suiting disk size.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Disk space usage after first time installation===&lt;br /&gt;
&lt;br /&gt;
====IPxx10/IPx11 Gateways====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 32 MB (fat32 partition with two kernels, which are started by the IPxx10 or IPx11)&lt;br /&gt;
* /dev/sda2: 524 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda3: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda4: 620 MB / xx GB depending of the size of the used CF card (ext4 partition, which is actually booted)&lt;br /&gt;
&lt;br /&gt;
 All in all about 1.3 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 674 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda2: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda3: 767 MB / xx GB depending of your pre installation configuration (ext3 partition, which is actually booted) &lt;br /&gt;
&lt;br /&gt;
 All in all about 1.6 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (IPxx10 or IPx11 Gateways)===&lt;br /&gt;
&lt;br /&gt;
It is recommended to use CF-Cards with sizes of 8GB or more and the card &#039;&#039;&#039;must&#039;&#039;&#039; support UDMA!&amp;lt;br&amp;gt;&lt;br /&gt;
* Enable Linux under Linux General. &lt;br /&gt;
  [[image:IPxx10_Linux_-_enable.png]]&lt;br /&gt;
* Be sure that &amp;quot;Autostart Linux&amp;quot; is disabled unless the installation process is finished.&lt;br /&gt;
* You need to enable Proxy-ARP on ETH0 or ETH1 [[ Reference:Configuration/ETH/IP|here ]], so your gateway and the linux appliance will share the same physical interface. Simply go to &#039;&#039;&#039;IP4 &amp;gt; ETH0 (if used) &amp;gt; IP&#039;&#039;&#039; and check &#039;&#039;&#039;Proxy ARP&#039;&#039;&#039;&lt;br /&gt;
* Decompress the downloaded package. You should have an image file like &amp;lt;code&amp;gt;linux_ipxx10_armel.img&amp;lt;/code&amp;gt; now. This works for both &#039;&#039;&#039;IPxx10&#039;&#039;&#039; and &#039;&#039;&#039;IPx11&#039;&#039;&#039; hardware!&lt;br /&gt;
* Upload the decompressed file over the gateways web interface under [[ Reference10:General/Compact-Flash/Image ]] (IPxx10) or [[ Reference12:General/SSD/Image ]] (IPx11). Unmount the CF card/SSD if necessary. Select &amp;quot;Part 1&amp;quot; before starting the upload!&lt;br /&gt;
  [[image:IPxx10_Linux_-_upload_image.jpg]]&lt;br /&gt;
* Reset the box (which also activates the config change of step 1).&lt;br /&gt;
* Configure IP under [[ Reference10:Linux/IP ]]: select either &amp;quot;Disabled&amp;quot; to assign a static IP or ETH0/ETH1 to receive an IP-Address from DHCP-Server behind ETH0 or ETH1.&lt;br /&gt;
* Configure the kernel file, which you find under [[ Reference10:General/Compact-Flash/General#Browse_CF_Content ]] on [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
** IPxx10 hardware: &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;&lt;br /&gt;
** IPx11 hardware: &amp;lt;code&amp;gt;Image-IPx11-4.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Configure &amp;lt;code&amp;gt;root=/dev/sda2&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;.&lt;br /&gt;
* If you want, configure the autostart flag.&lt;br /&gt;
* Submit your changes.&lt;br /&gt;
* Click the [[ Reference10:Linux/General ]] &#039;&#039;&#039;Start&#039;&#039;&#039;-Link. The page refreshes until Linux gets an IP and then tries to get a link to the Linux Web Server, which can take some time for the first time installation (~ 5 minutes to 2 hours).&lt;br /&gt;
[[Image:device_conf.jpg]]&lt;br /&gt;
* Open the Linux Web Server to see the installation progress (which might take several minutes too). The default credentials are &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; for both platforms.&lt;br /&gt;
[[Image:installation.jpg]]&lt;br /&gt;
* The output of the installation log is stored on the Linux AP under &amp;lt;code&amp;gt;/var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have no access to the web server but a console or SSH access, you can check the installation progress in this log file. E.g. login to the console with root/iplinux and run follwong command: &amp;lt;code&amp;gt;more /var/log/init_install.log&amp;lt;/code&amp;gt;. In case you have an SSH connection to the Linux AP, you can download this file using [http://winscp.net WinSCP] tool.&lt;br /&gt;
* Enter the innovaphone device IP address (optional port allowed) and admin credentials when the installation has finished. Now wait until the page refrehses. The web server credentials are now the innovaphone device admin credentials, e.g. &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;ip6010&#039;&#039;&#039;.&lt;br /&gt;
** If the device couldn&#039;t be reconfigured, you will get an error message &#039;&#039;&#039;Command line at the PBX could not be changed...&#039;&#039;&#039; In this case, you have to open [[ Reference10:Linux/General ]] on your device, click stop and enter &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;. Then start again. Your Linux webserver credentials will be &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; in this case.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
* You will see now &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under [[ Reference10:Linux/General ]] since Linux is running in on the fourth partition. You shouldn&#039;t change that unless you want to install Linux again.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (VMWare)===&lt;br /&gt;
&lt;br /&gt;
* Decompress the downloaded archive. You should have two files: &#039;&#039;&#039;IP-Debian.vmx&#039;&#039;&#039; and &#039;&#039;&#039;IP-Debian.vmdk&#039;&#039;&#039;.&lt;br /&gt;
* We can open using Vmware Player/Workstation, if you wish to run on Vsphere 4.x or later please convert it by the same method it&#039;s done with the IPVA (see [[Reference10:Concept_Innovaphone_Virtual_Appliance#VMware_vSphere | Using VMware vSphere]])&lt;br /&gt;
* Now you have two possibilities (example for VMWare Player, VMWare Workstation should be similar):&lt;br /&gt;
** If you want to assign more than 8 GB virtual flash:&lt;br /&gt;
*** Do &#039;&#039;&#039;not&#039;&#039;&#039; directly start/doubleclick the vmx file!&lt;br /&gt;
*** Start the VMware Player and Open the vmx file with &#039;&#039;&#039;Open a Virtual Machine&#039;&#039;&#039;.&lt;br /&gt;
*** Open &#039;&#039;&#039;Edit virtual machine settings&#039;&#039;&#039;.&lt;br /&gt;
*** Select the hard disk and &#039;&#039;&#039;Expand&#039;&#039;&#039; it under &#039;&#039;&#039;Utilities&#039;&#039;&#039; to the wished size.&lt;br /&gt;
*** Apply the change and klick &#039;&#039;&#039;Play virtual machine&#039;&#039;&#039;.&lt;br /&gt;
** If 8 GB are enough, simply double click the vmx file and Linux will start.&lt;br /&gt;
* The first time, a script will automatically configure a new partition, the web server etc., which will take some time. The waiting time depends on the CPU of the computer running the vmware player. In some cases the waiting time can be up to 30 minutes, in most cases the installation finishes in about 2-5 minutes.&lt;br /&gt;
* In the meantime, fetch your IP from the VMWare Player screen or login as root and get your IP address with the command &#039;&#039;&#039;ifconfig&#039;&#039;&#039;.&lt;br /&gt;
* Login to the web server to see the installation progress (it may take some minutes until the web server is up).&lt;br /&gt;
* Linux will restart automatically after the first time installation has finished.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
&lt;br /&gt;
===Hotfix Installation===&lt;br /&gt;
If you have already installed the latest version of the Linux Application Platform, simply download the Linux...HotfixIncremental for your platform (VM or IPxx10/IPx11) or if you have missed some hotfixes, download the Linux...HotfixCumulative archive, which contains all hotfixes since hotfix1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upload this hotfix archive [[Reference10:Concept_Linux_Application_Platform#Upload.2FUpdate|here]].&lt;br /&gt;
&lt;br /&gt;
====Refreshing issue on installation====&lt;br /&gt;
You might get a PHP error when the browser is refreshing during the installation. Just refresh (F5) the page and you&#039;ll get the installation progress again.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade from a previous major Release ===&lt;br /&gt;
For instructions how to upgrade from a previous major release (such as V9 to V10), see &#039;&#039;Upgrading Linux Application Platform&#039;&#039; in [[Howto:Firmware_Upgrade_V9_V10|Firmware Upgrade V9 V10]].&lt;br /&gt;
&lt;br /&gt;
===Static IP===&lt;br /&gt;
The Linux itself &#039;&#039;&#039;must&#039;&#039;&#039; be running in DHCP client mode to run properly. If you want to assign a static IP address, do it like this:&lt;br /&gt;
&lt;br /&gt;
* On an IPxx10/IPxx11: assign a static IP under [[Reference10:Linux/IP]], this will do an internal DHCP response to the Linux that&#039;s running as DHCP client mode.&lt;br /&gt;
* On a VMWare: assign a static IP in your local DHCP server for your MAC address defined in the *.vmx file.&lt;br /&gt;
&lt;br /&gt;
===IPxx10/IPxx11 Transit network for Linux===&lt;br /&gt;
When running Linux on an innovaphone device IPxx10/IPxx11 there is no dedicated network interface for the Linux machine. Instead we have a special transit network between the Linux and the device. The Linux will always operate as DHCP Client mode.&lt;br /&gt;
&lt;br /&gt;
Any ARP request done by the Linux machine will always get the same ARP result that will be the internal &amp;quot;NIC&amp;quot; inside the device, so all packets are always sent to the same IPxx10/IPxx11 device that works as a router. When the packet sent by the Linux machine arrives the innovaphone device, it will follow the IP routing table of the device itself.&lt;br /&gt;
&lt;br /&gt;
In case we have a single network (voice) we will have no problem since the default gateway is just one. However, if we wish to split into two networks (voice and data) and the Linux machine should have a different default gateway, this has no effect since IP routing is based on the innovaphone device IP routing table, because we can&#039;t have two default gateways at the same time.&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
====Configure IP====&lt;br /&gt;
&lt;br /&gt;
The IP configuration on the Linux Application Platform is &#039;&#039;&#039;only&#039;&#039;&#039; available on a &#039;&#039;&#039;VM&#039;&#039;&#039;! A static IP for a Linux Application Platform for an IPxx10/IPxx11 can be configured on your gateway under Linux/IP.&lt;br /&gt;
&lt;br /&gt;
* Mode: either DHCP Client or Static&lt;br /&gt;
* [IP Address]: the desired static IP address&lt;br /&gt;
* [Subnet Mask]&lt;br /&gt;
* [Gateway]&lt;br /&gt;
* [DNS Server]&lt;br /&gt;
* [Alternate DNS Server]&lt;br /&gt;
&lt;br /&gt;
The optional parameters in [] can be only configured, if &#039;&#039;&#039;Static&#039;&#039;&#039; is selected as mode.&lt;br /&gt;
&lt;br /&gt;
====Change the root credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials of the Linux root user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configure Authenticated URLs====&lt;br /&gt;
&lt;br /&gt;
Configure credentials for authenticated URLs. These credentials will be used in automatic backups.&amp;lt;br&amp;gt;&lt;br /&gt;
You can add/remove Urls with the &#039;&#039;&#039;+&#039;&#039;&#039; and &#039;&#039;&#039;-&#039;&#039;&#039; at the right side of the list.&lt;br /&gt;
&lt;br /&gt;
* URL: the URL, e.g. https://172.16.123.123/backup&lt;br /&gt;
* User: the user for this URL&lt;br /&gt;
* Password: the password for this URL&lt;br /&gt;
&lt;br /&gt;
====Configure NTP server====&lt;br /&gt;
&lt;br /&gt;
Configures a NTP server.&lt;br /&gt;
&lt;br /&gt;
* NTP Server: the IP of the NTP Server&lt;br /&gt;
&lt;br /&gt;
====Change Timezone====&lt;br /&gt;
&lt;br /&gt;
Default is Europe/Berlin but you can change that to a valid timezone (an error is given if timezone not present).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Change postgresql admin password====&lt;br /&gt;
&lt;br /&gt;
If innovaphone Reporting is installed, you can configure another password for the postgres admin user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;postgres&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Web Server===&lt;br /&gt;
&lt;br /&gt;
We use lighttpd version 1.4.32. The linux web server user is &#039;&#039;&#039;www-data&#039;&#039;&#039; and group user also &#039;&#039;&#039;www-data&#039;&#039;&#039;. Root directory for the web-server is &#039;&#039;&#039;/var/www/innovaphone&#039;&#039;&#039;. This information is mainly relevant if you plan to develope custom applications and integrate them into linux application platform.&lt;br /&gt;
&lt;br /&gt;
Default users and password for the different levels on the Linux application plattform (see figure below):&lt;br /&gt;
[[image:Linux_Application_hierarki.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Change web server properties and public access to the web/webdav====&lt;br /&gt;
* Force HTTPS: enables redirection for HTTP to HTTPS&lt;br /&gt;
* Public Web Paths: these paths are not password protected, e.g. &#039;/ap&#039;&lt;br /&gt;
* Public Webdav Paths: these webdav paths are not password protected, e.g. &#039;/backup&#039;&lt;br /&gt;
** These paths are by default readonly. You can set the &#039;Write&#039; flag to make the path also writable. This flag will be anyway ignored if credentials are provided.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;IPadr&amp;gt;&#039;&#039;&amp;lt;code&amp;gt;/webdav/&amp;lt;/code&amp;gt; is the root directory for webdav files. If you want to access a directory/file without credentials you have to add this directory to the Public Webdav Paths.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;/webdav/background/&amp;lt;/code&amp;gt; Here you have the background pictures for your Phones.&amp;lt;br&amp;gt;&lt;br /&gt;
Public Webdav Paths: &amp;lt;code&amp;gt;/background&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/background/a&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Now you have a public access to the folder background. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enter a single &#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039; for a public root directory. All sub directories and files will be also public then.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update/&amp;lt;/code&amp;gt;&#039;, the directory &#039;update&#039; and all sub directories/files will be public.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you enter e.g. &#039;&amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;&#039;, only the directory &#039;update&#039; and its files will be public.&lt;br /&gt;
&lt;br /&gt;
Important: Linux file names are case sensitive (so &amp;lt;code&amp;gt;/Update&amp;lt;/code&amp;gt; is not equal &amp;lt;code&amp;gt;/update&amp;lt;/code&amp;gt;)!.&lt;br /&gt;
&lt;br /&gt;
====Change the Linux web server credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for Web Server access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change the Linux webdav access credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for webdav access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change application access credentials====&lt;br /&gt;
&lt;br /&gt;
If you have installed an application, which has the lighttpd-auth property set in its configuration file, you can configure a separate user/password for the applications web site.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to disable the separate authentication, leave the &#039;&#039;&#039;user&#039;&#039;&#039; field empty and enter the currently configured password. The authentication will be the same as the root web server authentication afterwards.&amp;lt;br&amp;gt;&lt;br /&gt;
One can just login on the application web site with this access.&lt;br /&gt;
&lt;br /&gt;
A configured access overrides a configured public web path to &#039;/apps/application-name&#039;!&lt;br /&gt;
&lt;br /&gt;
====Configure mutual TLS====&lt;br /&gt;
&lt;br /&gt;
If you need mutual TLS for innovaphone devices with a certificate signed by innovaphone, you can activate mutual TLS for a configurable &#039;&#039;&#039;port&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently we&#039;re just supporting client certificates signed by innovaphone&#039;s &#039;&#039;innovaphone Device Certification Authority&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The physical mutual TLS path is &#039;&#039;&#039;/var/www/innovaphone/mtls&#039;&#039;&#039;. Here you can put your script files, e.g. mtls.php.&amp;lt;br&amp;gt;&lt;br /&gt;
You then call this script file by &#039;&#039;&#039;https://linux-ip:mtls-port/mtls.php&#039;&#039;&#039;, as this path is the document root for the configured port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to upload the script:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Using a webdav client (like NetDrive) upload the script to the webdav folder.&lt;br /&gt;
Afterwards connect with Putty to the linux.&lt;br /&gt;
&lt;br /&gt;
The uploaded file is under /var/www/innovaphone/webdav and we must move it to /var/www/innovaphone/mtls&lt;br /&gt;
&lt;br /&gt;
===Certificates===&lt;br /&gt;
&lt;br /&gt;
The current server certificate installed on the web server is shown here. A self signed certificate, innovaphone-linux, is installed by default. It is recommended to change it with your own certificate.&lt;br /&gt;
&lt;br /&gt;
It is also possible to trust or reject other certificates.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Currently the LAP doesn&#039;t support the upload of a password protected certificate. As a workaround it is possible to convert the certificate with OpenSSL (on windows or Linux) to PEM format without password and upload this one.&lt;br /&gt;
&lt;br /&gt;
With the following openssl command, the password protected certificate can be changed into an unprotected certificate. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl pkcs12 -in&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithPasswort&#039;&#039; &amp;lt;code&amp;gt;-out&amp;lt;/code&amp;gt; &#039;&#039;CertificateWithoutPasswort&#039;&#039;.pem &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The unprotected certificate should be deleted directly after upload for security reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to create a private, unsigned certificate you can do this with the following commands on the Linux AP CLI.&lt;br /&gt;
It is best to go in a folder which can be reached via http later as &amp;lt;code&amp;gt;/var/www/innovaphone/webdav/...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days xxxx (insert number)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;code&amp;gt;-nodes&amp;lt;/code&amp;gt; if you don&#039;t want to protect your private key with a passphrase.&lt;br /&gt;
&lt;br /&gt;
You now will be asked for certificate information.&lt;br /&gt;
&lt;br /&gt;
To merge the certificate and key you can enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat cert.pem &amp;gt;&amp;gt; key.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file key.pem can now be uploaded via the web interface of the Linux AP.&lt;br /&gt;
&lt;br /&gt;
===Backup===&lt;br /&gt;
&lt;br /&gt;
The web server can be configured to poll a Command File URL (on a web server).&amp;lt;br&amp;gt;&lt;br /&gt;
The backup process is similar to [[Reference10:Services/Update]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alarm server can be also configured to receive alarms during an automatic backup: [[ #Alarm_Server | Alarm Server under Diagnostics ]].&lt;br /&gt;
&lt;br /&gt;
At the bottom you will see a list of the current automatic backup serials from the Command File URL and the log of the last automatic backups.&lt;br /&gt;
&lt;br /&gt;
[[Image:backup_restore.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Command File====&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 saveinnovaphonecfgs http://172.16.123.123/webdav/backup/cfgs-#i-#b10.tar.gz&lt;br /&gt;
&lt;br /&gt;
The available default commands are:&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonecfgs=====&lt;br /&gt;
&lt;br /&gt;
Saves all neccessary configuration files (no application specific files) as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonelogs=====&lt;br /&gt;
&lt;br /&gt;
Saves all available (also application related) log files as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====times=====&lt;br /&gt;
Executes the following command(s) only, if the specified time matches and only once per hour (independent of poll timeout value).&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# both commands always executed&lt;br /&gt;
saveinnovaphonelogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-logs-#i-#m-#b10.tar.gz&lt;br /&gt;
saveinnovaphonecfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-cfg-#i-#m-#b10.tar.gz&lt;br /&gt;
# commands only from monday till saturday at 10am and 11am executed. &lt;br /&gt;
times day:1,2,3,4,5 hour:10,11 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
# commands only Saturdays and Sundays at 00am executed. &lt;br /&gt;
times day:6,7 hour:00 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* day goes from 1 (Monday) to 7 (Sunday).&amp;lt;br&amp;gt;&lt;br /&gt;
* hour goes from 00 to 23.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can specify multiple times commands to override the last one.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Backup file name macros=====&lt;br /&gt;
&lt;br /&gt;
You can use some macros for the backup filename:&lt;br /&gt;
&lt;br /&gt;
* #i - will be replaced with the current IP address&lt;br /&gt;
* #m - will be replaced with the current MAC address&lt;br /&gt;
* #d - will be replaced with date/time in format Ymd-His (20110231-111010)&lt;br /&gt;
* #bxx - will be replaced with the current backup index, whilst xx is the maximum index&lt;br /&gt;
&lt;br /&gt;
====Save configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to see all available files/data/logs to download them manually.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be saved!&lt;br /&gt;
&lt;br /&gt;
====Restore configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to restore all available files/data.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be restored!&lt;br /&gt;
&lt;br /&gt;
===Relay Hosts===&lt;br /&gt;
&lt;br /&gt;
The Application Platform contains a mail client which speaks SMTP. &lt;br /&gt;
The SMTP daemon (postfix) looks up by default the DNS MX record of the recipient email address.&amp;lt;br&amp;gt;&lt;br /&gt;
Relay SMTP hosts can also be configured to deliver the mails. Each relay host is related to a &#039;&#039;&#039;sender&#039;&#039;&#039; mail address or a &#039;&#039;&#039;sender&#039;&#039;&#039; mail domain. TLS is used if the host supports it.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of the server entry:&lt;br /&gt;
; mydomain.com: MX record to the domain&lt;br /&gt;
; smtphost: host name with MX record lookup&lt;br /&gt;
; [gateway.example.com]: host name with DNS lookup&lt;br /&gt;
; [an.ip.add.ress]: IP address without DNS lookup&lt;br /&gt;
The form [hostname] turns off MX lookups. See also [http://www.postfix.org/postconf.5.html#relayhost the postfix documentation].&amp;lt;br&amp;gt;&lt;br /&gt;
If anonymous SMTP is to be used, user and password must be left empty.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:relay_hosts.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Important to use &amp;quot;[]&amp;quot; like the picture.&lt;br /&gt;
&lt;br /&gt;
Currently innovaphone Reporting and innovaphone Faxserver are using these relay hosts, if entered.&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
&lt;br /&gt;
The innovaphone database is created to store e.g. relay hosts. &lt;br /&gt;
PostgreSQL is also available for other applications and any of them could create its own database. &lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
&lt;br /&gt;
The database user is &#039;&#039;&#039;innovaphone&#039;&#039;&#039; with default password &#039;&#039;&#039;innovaphone&#039;&#039;&#039;. &lt;br /&gt;
This password may be changed here.&lt;br /&gt;
&lt;br /&gt;
====Remote Access====&lt;br /&gt;
&lt;br /&gt;
There are tools (PgAdmin III) that allow to connect to application databases remotely. &lt;br /&gt;
It is first needed to configure the IP you are connecting from here. (Only Single-IP entry it&#039;s allowed, no submask or wildcard for multiple IPs)&lt;br /&gt;
&lt;br /&gt;
For the PgAdmin III it is imporant to use innovaphone as Service-DB (Wartungs-DB). Default login credentials - User: innovaphone - Password: innovaphone&lt;br /&gt;
&lt;br /&gt;
===Announcements===&lt;br /&gt;
&lt;br /&gt;
You can upload a 16bit,8khz,mono wave file, which will be converted to G711U/G711A/G723/G729 .&amp;lt;br&amp;gt;&lt;br /&gt;
The converted files will be stored inside the webdav/announcements folder, e.g. http://172.16.111.111/webdav/announcements/test.g7xx&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you check the &#039;&#039;&#039;Return files as ZIP file&#039;&#039;&#039; flag, you will get a ZIP file, which contains the converted files. These files are not stored locally then! &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For the new Codec G722, OPUS-NB and OPUS-WB you have to use the online converter available on my.innovaphone portal (login necessary first): https://my.innovaphone.com/support.php or on our website https://www.innovaphone.com/en/support/convert.html. No Conversion of new codecs is possible with Linux AP !&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
===List===&lt;br /&gt;
&lt;br /&gt;
A list of all currently installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
If an application has an own web interface, you can reach it by using the application name link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Uninstall====&lt;br /&gt;
Use the uninstall link in the list to uninstall an application.&lt;br /&gt;
&lt;br /&gt;
===Upload/Update===&lt;br /&gt;
&lt;br /&gt;
Here all new applications, application updates and application platform updates are installed.&amp;lt;br&amp;gt;&lt;br /&gt;
After uploading the file, the installation will start automatically and the installation process will be shown. The page refreshes until the installation has finished.&lt;br /&gt;
&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
&lt;br /&gt;
===Logs===&lt;br /&gt;
&lt;br /&gt;
Here you can view, download or clear the available log files from the application platform or from installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also download all log files at once (this archiv also contains older versions from the log files).&lt;br /&gt;
&lt;br /&gt;
===RPCAP===&lt;br /&gt;
&lt;br /&gt;
Enable/disable RPCAP for use with Wireshark.&amp;lt;br&amp;gt;&lt;br /&gt;
A link will be displayed, which you can use within Wireshark.&lt;br /&gt;
&lt;br /&gt;
===Alarm Server===&lt;br /&gt;
&lt;br /&gt;
Configure an innovaphone device as alarm server:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ip&#039;&#039;&#039;: IP address of the innovaphone device&lt;br /&gt;
* [&#039;&#039;&#039;port&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;user&#039;&#039;&#039;]: user for authentication to the alarm server &lt;br /&gt;
* [&#039;&#039;&#039;password&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;https&#039;&#039;&#039;]: use https to send the alarm&lt;br /&gt;
&lt;br /&gt;
Options in &#039;&#039;&#039;[]&#039;&#039;&#039; are optional.&lt;br /&gt;
&lt;br /&gt;
 Alarms from installed applications or the application platform itself will be sent to this configured server.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
View the disk usage.&lt;br /&gt;
&lt;br /&gt;
===Reset===&lt;br /&gt;
====IPxx10====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform. You&#039;ll have to restart it over the IPxx10 gateway.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform or reboot it.&lt;br /&gt;
&lt;br /&gt;
===Status PHP script===&lt;br /&gt;
http://LinuxAP/status.php returns an XML file containing the output from the following linux commands:&amp;lt;br&amp;gt;&lt;br /&gt;
* df -H&lt;br /&gt;
* free -h&lt;br /&gt;
* uptime&lt;br /&gt;
* ps -wwweo pid,lstart,time,etime,pcpu,pmem,rsz,vsz,args&lt;br /&gt;
* ss -A inet -ap&lt;br /&gt;
* top -b -n 1&lt;br /&gt;
&lt;br /&gt;
==Use as Log or Alarm Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as a server for innovaphone logs.&amp;lt;br&amp;gt;&lt;br /&gt;
Configure Local-AP(-s)/Remote-AP(-s) on [[Reference10:Services/Logging]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The following scripts are used to retrieve the logs/alarms:&lt;br /&gt;
* logs: /ap/log.fcgi&lt;br /&gt;
* alarms: /ap/alarm.fcgi&lt;br /&gt;
&lt;br /&gt;
So you can make the path &#039;&#039;&#039;/ap&#039;&#039;&#039; public on the &#039;&#039;Linux Web Server&#039;&#039; or you configure an authenticated URL for these files/this path on your &#039;&#039;innovaphone gateway&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 If you configure an authenticated URL, don&#039;t forget to configure port 80 or port 443 for secure transport (Remote-AP-S) like&lt;br /&gt;
 https://111.111.111.111:443/ap or http://111.111.111.111:80/ap&lt;br /&gt;
&lt;br /&gt;
The log and alarm files will be saved unter http://LAP/webdav/log or /alarm. The files are rotated after 1 MB size and four times, so you&#039;ll have max 5 files.&lt;br /&gt;
&lt;br /&gt;
==Use as File/VM-Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as file server, e.g. for udpate scripts, voicemail etc.&amp;lt;br&amp;gt;&lt;br /&gt;
You can access the server with a webdav client via &#039;&#039;&#039;http(s)://Linux-IP/webdav&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Public access to certain paths etc. can be configured under the [[Reference10:Concept_Linux_Application_Platform#Web_Server | web server configuration]].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the Linux Filesystem(ext3) is case sensetive. The PBX will always search for lowercase letters. If you name your file ‘greetings.G711A’ it won’t be found. You have to name the file ‘greetings.g711a’.&lt;br /&gt;
&lt;br /&gt;
==Enable further Tracing==&lt;br /&gt;
There are different trace options, which can be enabled by calling a certain php script:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://LINUX-IP/trace.php?level=127&lt;br /&gt;
&lt;br /&gt;
The level is calculated by the addition of one or multiple of the following trace options:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 || &#039;&#039;&#039;Option&#039;&#039;&#039; || &#039;&#039;&#039;To add&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_STD || 1&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_DB || 2&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_TIME || 4&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW_TOTAL || 8&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW || 16&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_PARSE_CFG || 32&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_LDAP || 64&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_XML || 128&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So currently all trace options are enabled with the level &#039;&#039;&#039;255&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default trace level are &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
===Creating own applications===&lt;br /&gt;
See [[Reference10:Concept Linux Application]]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
====NetDrive====&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/software/download/netdrive/55134 NetDrive] is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.&lt;br /&gt;
&lt;br /&gt;
====Putty====&lt;br /&gt;
&lt;br /&gt;
[http://www.putty.org/ Putty] is SSH client to connect to the linux application platform.&lt;br /&gt;
&lt;br /&gt;
===Manual Debian Upgrade===&lt;br /&gt;
If you have installed one of our upgrade hotfixes and you had installed packages, which weren&#039;t included in innovaphone applications, the upgrade of some packages might have failed. You will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
The following packages couldn&#039;t be upgraded due to missing dependencies: php5-cgi php5-cli&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have to perfom some actions yourself:&lt;br /&gt;
* make sure, your Linux Application Platform has internet access&lt;br /&gt;
* login with a terminal client like Putty&lt;br /&gt;
* start &#039;apt-get update&#039;&lt;br /&gt;
* start &#039;apt-get install php5-cgi php5-cli&#039; (list the packages of the warning message)&lt;br /&gt;
* delete the file /var/www/innovaphone/log/missing_packages.log to clear the warning message:&lt;br /&gt;
** rm /var/www/innovaphone/log/missing_packages.log&lt;br /&gt;
&lt;br /&gt;
Your installation should be now up to date again.&lt;br /&gt;
&lt;br /&gt;
===Configuring a new Kernel===&lt;br /&gt;
If you have installed a hotfix with a new kernel, you will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
You&#039;re not running the latest kernel Image-6010-3.4.10!&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change to the new kernel, you have to reconfigure something on your device, where the CF card is plugged in.&lt;br /&gt;
* First shutdown your Linux (see [[ Reference10:Concept_Linux_Application_Platform#IPxx10 ]])&lt;br /&gt;
* Stop Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
* Configure the latest kernel file (currently &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;) under [[ Reference10:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
* Start Linux under [[ Reference10:Linux/General ]]&lt;br /&gt;
&lt;br /&gt;
===Alarms of the Application Platform===&lt;br /&gt;
If you have configured an [[ #Alarm_Server | Alarm Server]], you will receive certain alarms.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, the following alarms exist:&lt;br /&gt;
&lt;br /&gt;
* Disk Usage &amp;gt;= 90%&lt;br /&gt;
* read-only mounted partition&lt;br /&gt;
* bad blocks on CF cards&lt;br /&gt;
* Alarms for the innovaphone Reporting Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Exchange Calendar Connector Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Faxserver Application, if installed&lt;br /&gt;
&lt;br /&gt;
===Initially installed packages===&lt;br /&gt;
&lt;br /&gt;
The following packages are already installed without any application:&lt;br /&gt;
&lt;br /&gt;
* adduser&lt;br /&gt;
* apt&lt;br /&gt;
* apt-utils&lt;br /&gt;
* aptitude&lt;br /&gt;
* aptitude-common&lt;br /&gt;
* base-files&lt;br /&gt;
* base-passwd&lt;br /&gt;
* bash&lt;br /&gt;
* binutils&lt;br /&gt;
* bsdmainutils&lt;br /&gt;
* bsdutils&lt;br /&gt;
* bzip2&lt;br /&gt;
* ca-certificates&lt;br /&gt;
* comerr-dev&lt;br /&gt;
* coreutils&lt;br /&gt;
* cpio&lt;br /&gt;
* cpp&lt;br /&gt;
* cpp-4.7&lt;br /&gt;
* cpp-4.6&lt;br /&gt;
* cron&lt;br /&gt;
* curl&lt;br /&gt;
* dash&lt;br /&gt;
* db-util&lt;br /&gt;
* db5.1-util&lt;br /&gt;
* debconf&lt;br /&gt;
* debconf-i18n&lt;br /&gt;
* debian-archive-keyring&lt;br /&gt;
* debianutils&lt;br /&gt;
* diffutils&lt;br /&gt;
* dmidecode&lt;br /&gt;
* dmsetup&lt;br /&gt;
* dos2unix&lt;br /&gt;
* dovecot-common&lt;br /&gt;
* dovecot-core&lt;br /&gt;
* dovecot-pgsql&lt;br /&gt;
* dovecot-pop3d&lt;br /&gt;
* dovecot-sieve&lt;br /&gt;
* dpkg&lt;br /&gt;
* e2fslibs&lt;br /&gt;
* e2fsprogs&lt;br /&gt;
* file&lt;br /&gt;
* findutils&lt;br /&gt;
* gamin&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc-4.7&lt;br /&gt;
* gcc-4.6&lt;br /&gt;
* gcc-4.6-base&lt;br /&gt;
* gcc-4.7-base&lt;br /&gt;
* gettext-base&lt;br /&gt;
* gnupg&lt;br /&gt;
* gpgv&lt;br /&gt;
* grep&lt;br /&gt;
* groff-base&lt;br /&gt;
* grub-common&lt;br /&gt;
* grub-legacy&lt;br /&gt;
* gzip&lt;br /&gt;
* hdparm&lt;br /&gt;
* hostname&lt;br /&gt;
* ifupdown&lt;br /&gt;
* info&lt;br /&gt;
* initramfs-tools&lt;br /&gt;
* initscripts&lt;br /&gt;
* insserv&lt;br /&gt;
* install-info&lt;br /&gt;
* iproute&lt;br /&gt;
* iptables&lt;br /&gt;
* iputils-ping&lt;br /&gt;
* isc-dhcp-client&lt;br /&gt;
* isc-dhcp-common&lt;br /&gt;
* klibc-utils&lt;br /&gt;
* kmod&lt;br /&gt;
* krb5-multidev&lt;br /&gt;
* libacl1&lt;br /&gt;
* libapt-inst1.5&lt;br /&gt;
* libapt-pkg4.12&lt;br /&gt;
* libasprintf0c2&lt;br /&gt;
* libattr1&lt;br /&gt;
* libblkid1&lt;br /&gt;
* libboost-iostreams1.49.0&lt;br /&gt;
* libbsd0&lt;br /&gt;
* libbz2-1.0&lt;br /&gt;
* libbz2-dev&lt;br /&gt;
* libc-bin&lt;br /&gt;
* libc-client2007e&lt;br /&gt;
* libc-dev-bin&lt;br /&gt;
* libc6&lt;br /&gt;
* libc6-dev&lt;br /&gt;
* libcap2&lt;br /&gt;
* libclass-isa-perl&lt;br /&gt;
* libcomerr2&lt;br /&gt;
* libcurl3&lt;br /&gt;
* libcurl4-openssl-dev&lt;br /&gt;
* libcwidget3&lt;br /&gt;
* libdb5.1&lt;br /&gt;
* libdevmapper1.02.1&lt;br /&gt;
* libedit2&lt;br /&gt;
* libept1.4.12&lt;br /&gt;
* libexpat1&lt;br /&gt;
* libfcgi-dev&lt;br /&gt;
* libfcgi0ldbl&lt;br /&gt;
* libffi5&lt;br /&gt;
* libfreetype6&lt;br /&gt;
* libfuse2&lt;br /&gt;
* libgamin-dev&lt;br /&gt;
* libgamin0&lt;br /&gt;
* libgcc1&lt;br /&gt;
* libgcrypt11&lt;br /&gt;
* libgcrypt11-dev&lt;br /&gt;
* libgdbm-dev&lt;br /&gt;
* libgdbm3&lt;br /&gt;
* libglib2.0-0&lt;br /&gt;
* libgmp10&lt;br /&gt;
* libgnutls-dev&lt;br /&gt;
* libgnutls-openssl27&lt;br /&gt;
* libgnutls26&lt;br /&gt;
* libgnutlsxx27&lt;br /&gt;
* libgomp1&lt;br /&gt;
* libgpg-error-dev&lt;br /&gt;
* libgpg-error0&lt;br /&gt;
* libgpgme11&lt;br /&gt;
* libgpm2&lt;br /&gt;
* libgssapi-krb5-2&lt;br /&gt;
* libgssrpc4&lt;br /&gt;
* libidn11&lt;br /&gt;
* libidn11-dev&lt;br /&gt;
* libitm1&lt;br /&gt;
* libk5crypto3&lt;br /&gt;
* libkadm5clnt-mit8&lt;br /&gt;
* libkadm5srv-mit8&lt;br /&gt;
* libkdb5-6&lt;br /&gt;
* libkeyutils1&lt;br /&gt;
* libklibc&lt;br /&gt;
* libkmod2&lt;br /&gt;
* libkrb5-3&lt;br /&gt;
* libkrb5-dev&lt;br /&gt;
* libkrb5support0&lt;br /&gt;
* libldap-2.4-2&lt;br /&gt;
* libldap2-dev&lt;br /&gt;
* liblocale-gettext-perl&lt;br /&gt;
* liblzma5&lt;br /&gt;
* libmagic1&lt;br /&gt;
* libmemcache-dev&lt;br /&gt;
* libmemcache0&lt;br /&gt;
* libmount1&lt;br /&gt;
* libmpc2&lt;br /&gt;
* libmpfr4&lt;br /&gt;
* libmysqlclient18&lt;br /&gt;
* libncurses5&lt;br /&gt;
* libncursesw5&lt;br /&gt;
* libnewt0.52&lt;br /&gt;
* libnfnetlink0&lt;br /&gt;
* libonig2&lt;br /&gt;
* libopts25&lt;br /&gt;
* libp11-kit-dev&lt;br /&gt;
* libp11-kit0&lt;br /&gt;
* libpam-modules&lt;br /&gt;
* libpam-modules-bin&lt;br /&gt;
* libpam-pgsql&lt;br /&gt;
* libpam-runtime&lt;br /&gt;
* libpam0g&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* libparted0debian1&lt;br /&gt;
* libpcre3&lt;br /&gt;
* libpcre3-dev&lt;br /&gt;
* libpcrecpp0&lt;br /&gt;
* libpipeline1&lt;br /&gt;
* libpng12-0&lt;br /&gt;
* libpng12-dev&lt;br /&gt;
* libpopt0&lt;br /&gt;
* libpq-dev&lt;br /&gt;
* libpq5&lt;br /&gt;
* libprocps0&lt;br /&gt;
* libpth20&lt;br /&gt;
* libqdbm14&lt;br /&gt;
* libquadmath0&lt;br /&gt;
* libreadline6&lt;br /&gt;
* librtmp-dev&lt;br /&gt;
* librtmp0&lt;br /&gt;
* libsasl2-2&lt;br /&gt;
* libsasl2-modules&lt;br /&gt;
* libselinux1&lt;br /&gt;
* libsemanage-common&lt;br /&gt;
* libsemanage1&lt;br /&gt;
* libsepol1&lt;br /&gt;
* libsigc++-2.0-0c2a&lt;br /&gt;
* libslang2&lt;br /&gt;
* libsqlite3-0&lt;br /&gt;
* libsqlite3-dev&lt;br /&gt;
* libss2&lt;br /&gt;
* libssh2-1&lt;br /&gt;
* libssh2-1-dev&lt;br /&gt;
* libssl-dev&lt;br /&gt;
* libssl1.0.0&lt;br /&gt;
* libstdc++6&lt;br /&gt;
* libtasn1-3&lt;br /&gt;
* libtasn1-3-dev&lt;br /&gt;
* libtext-charwidth-perl&lt;br /&gt;
* libtext-iconv-perl&lt;br /&gt;
* libtext-wrapi18n-perl&lt;br /&gt;
* libtinfo5&lt;br /&gt;
* libtokyocabinet9&lt;br /&gt;
* libudev0&lt;br /&gt;
* libusb-0.1-4&lt;br /&gt;
* libustr-1.0-1&lt;br /&gt;
* libuuid-perl&lt;br /&gt;
* libuuid1&lt;br /&gt;
* libwrap0&lt;br /&gt;
* libxapian22&lt;br /&gt;
* libxml2&lt;br /&gt;
* libxml2-dev&lt;br /&gt;
* libxml2-utils&lt;br /&gt;
* linux-base&lt;br /&gt;
* linux-image-3.2.0-4-686-pae&lt;br /&gt;
* linux-libc-dev&lt;br /&gt;
* locales&lt;br /&gt;
* login&lt;br /&gt;
* logrotate&lt;br /&gt;
* lsb-base&lt;br /&gt;
* lsb-release&lt;br /&gt;
* make&lt;br /&gt;
* makedev&lt;br /&gt;
* man-db&lt;br /&gt;
* manpages&lt;br /&gt;
* manpages-dev&lt;br /&gt;
* mawk&lt;br /&gt;
* mime-support&lt;br /&gt;
* mlock&lt;br /&gt;
* module-init-tools&lt;br /&gt;
* mount&lt;br /&gt;
* multiarch-support&lt;br /&gt;
* mysql-common&lt;br /&gt;
* nano&lt;br /&gt;
* ncurses-base&lt;br /&gt;
* ncurses-bin&lt;br /&gt;
* net-tools&lt;br /&gt;
* netbase&lt;br /&gt;
* netcat-traditional&lt;br /&gt;
* ntp&lt;br /&gt;
* ntpdate&lt;br /&gt;
* openssh-client&lt;br /&gt;
* openssh-server&lt;br /&gt;
* openssl&lt;br /&gt;
* parted&lt;br /&gt;
* passwd&lt;br /&gt;
* patch&lt;br /&gt;
* perl-base&lt;br /&gt;
* php-pear&lt;br /&gt;
* php-xml-parser&lt;br /&gt;
* php-xml-serializer&lt;br /&gt;
* php5-cgi&lt;br /&gt;
* php5-cli&lt;br /&gt;
* php5-common&lt;br /&gt;
* php5-curl&lt;br /&gt;
* php5-imap&lt;br /&gt;
* php5-pgsql&lt;br /&gt;
* php5-xcache&lt;br /&gt;
* pkg-config&lt;br /&gt;
* postfix&lt;br /&gt;
* postfix-pcre&lt;br /&gt;
* postfix-pgsql&lt;br /&gt;
* postgresql-9.1&lt;br /&gt;
* postgresql-client-9.1&lt;br /&gt;
* postgresql-client-common&lt;br /&gt;
* postgresql-common&lt;br /&gt;
* procps&lt;br /&gt;
* psmisc&lt;br /&gt;
* python&lt;br /&gt;
* python-minimal&lt;br /&gt;
* python2.7&lt;br /&gt;
* python2.7-minimal&lt;br /&gt;
* rdate&lt;br /&gt;
* readline-common&lt;br /&gt;
* rsyslog&lt;br /&gt;
* sasl2-bin&lt;br /&gt;
* sed&lt;br /&gt;
* sensible-utils&lt;br /&gt;
* shared-mime-info&lt;br /&gt;
* ssh&lt;br /&gt;
* ssl-cert&lt;br /&gt;
* sudo&lt;br /&gt;
* sysv-rc&lt;br /&gt;
* sysvinit&lt;br /&gt;
* sysvinit-utils&lt;br /&gt;
* tar&lt;br /&gt;
* tasksel&lt;br /&gt;
* tasksel-data&lt;br /&gt;
* traceroute&lt;br /&gt;
* tzdata&lt;br /&gt;
* ucf&lt;br /&gt;
* udev&lt;br /&gt;
* util-linux&lt;br /&gt;
* uuid-dev&lt;br /&gt;
* vim&lt;br /&gt;
* vim-common&lt;br /&gt;
* vim-runtime&lt;br /&gt;
* vim-tiny&lt;br /&gt;
* wget&lt;br /&gt;
* whiptail&lt;br /&gt;
* xz-utils&lt;br /&gt;
* zlib1g&lt;br /&gt;
* zlib1g-dev&lt;br /&gt;
* lighttpd-mod-webdav&lt;br /&gt;
* lighttpd&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
=== Do not update Debian Packages ===&lt;br /&gt;
The Linux application platform comes with the tested set of required Debian packages.  &#039;&#039;It is not recommended to do a manual update of those packages&#039;&#039; (or the kernel itself).  We have seen situations where updated packages had been changed in a non-downward compatible fashion - resulting in the applications running on the Linux application platform not working properly an more!&lt;br /&gt;
&lt;br /&gt;
===Separate authentication for innovaphone applications===&lt;br /&gt;
If you configured a separate authentication, it depends on the used browser, whether you have to re-authenticate on switching between the root web and the innovaphone application web access or not.&lt;br /&gt;
&lt;br /&gt;
===Refreshing issue on hotfix installation===&lt;br /&gt;
[[ Reference10:Concept_Linux_Application_Platform#Refreshing_issue_on_installation | See here. ]]&lt;br /&gt;
&lt;br /&gt;
===Kernel Update in VM Platform===&lt;br /&gt;
The installation of a new kernel fails and this process leaves the system unstable, not being able to install any more debian packages. Hotfix installations will probably fail.&lt;br /&gt;
&lt;br /&gt;
===Outdated packages? Debian Upgrade?===&lt;br /&gt;
From time to time we will deliver upgraded debian packages with a new hotfix. As we have to insure compatibility with our applications, we won&#039;t perform an upgrade for each hotfix!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please do &#039;&#039;&#039;not&#039;&#039;&#039; perform an update/upgrade yourself, as this will break future hotfix/application releases. Sometimes we deliver debian packages in our hotfixes and dependencies might be broken if you update/upgrade yourself.&lt;br /&gt;
&lt;br /&gt;
====I want to do it anyway!!!====&lt;br /&gt;
Ok, save your application/ap configuration and data files and install our latest &#039;&#039;&#039;FULL&#039;&#039;&#039; release without any hotfix. Restore the configuration/data files and perform your update/upgrade. Now you can be happy, if everything still works fine...&amp;lt;br&amp;gt;&lt;br /&gt;
Perform these steps for each new hotfix release, as you might not be able to apply a new hotfix.&lt;br /&gt;
&lt;br /&gt;
==How To==&lt;br /&gt;
===Reset webserver/webdav passwords===&lt;br /&gt;
In case you have lost your webserver or webdav password, but you still have the root credentials, you can login with SSH and execute the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;admin:Linux Web Server:c33c4d3f554367d5d1c3c9bf36803024&amp;quot; &amp;gt; /home/lighttpd/lighttpd_htdigest.user&lt;br /&gt;
echo &amp;quot;admin:Linux Webdav:7182e328a0531dd2d44d225f36da6b87&amp;quot; &amp;gt; /home/lighttpd/webdav_htdigest.user&lt;br /&gt;
/etc/init.d/lighttpd restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you can access your webserver/webdav with &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===Installation process failed===&lt;br /&gt;
&lt;br /&gt;
When the installation process stuck either because it doesn&#039;t get IP or services are not refresh/finished there is some additional information we could get from the Compact Flash that could help us understanding what is failing and if necessary open a support ticket and include this information in the ticket to innovaphone.&lt;br /&gt;
&lt;br /&gt;
*  Stop the linux and check General-&amp;gt;Compact Flash &amp;quot;Browse files&amp;quot;. All files in there might be helpfull (all but the kernel, of course).&lt;br /&gt;
*  Start the linux and check if you can connect to the configured/expected IP address via Putty after ~1 minute.&lt;br /&gt;
&lt;br /&gt;
Note: The file /var/log/init_install.log might help us to get a clue of the failure.&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Linux Application Platform]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Softwarephone&amp;diff=43710</id>
		<title>Reference12r1:Concept Softwarephone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Softwarephone&amp;diff=43710"/>
		<updated>2016-08-17T14:00:40Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* &amp;#039;&amp;#039;&amp;#039;[Tab: „User Configuration&amp;quot;]&amp;#039;&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
= General =&lt;br /&gt;
&lt;br /&gt;
Innovaphone SoftwarePhone  is the implementation of innovaphones HW phones software as a Windows process. So all the features native to the hardwarephones are present in SoftwarePhone  as well. SoftwarePhone  has no UI, it is operated via myPBX or 3rd Party CTI client (ex: Estos Procall).&lt;br /&gt;
&lt;br /&gt;
=System Requirements=&lt;br /&gt;
The innovaphone SoftwarePhone requires:&lt;br /&gt;
*Windows 7 or later.&lt;br /&gt;
*Innovaphone PBX with SoftwarePhones&amp;lt;v&amp;gt; License.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Prior to installing the  10.00  Version of  innovaphone SoftwarePhone  an eventually installed 9.00 version must be manually deinstalled. From version 10.00 on, subsequent releases can be updated without first deinstalling the older version.&lt;br /&gt;
When updating the installation, the previous configuration (if existing) is reused. Otherwise a default configuration is installed.&lt;br /&gt;
 &lt;br /&gt;
The following items are installed:&lt;br /&gt;
&lt;br /&gt;
* SoftwarePhone .exe and related files (dll) in Program files (x86)\innovaphone\SoftwarePhone &lt;br /&gt;
* Hid.tbl (the code definitoins of supported USB headsets) in Program files (x86) \innovaphone\SoftwarePhone &lt;br /&gt;
* The config files „swphone_config.cfg“ and „swphone_command.cfg” in the User Roaming directory (if no previous configuration is located there, otherwise the old configuration is used, Roaming Directory Location : &amp;lt;drive&amp;gt;:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone\SoftwarePhone\)&lt;br /&gt;
&lt;br /&gt;
Installation Process:&lt;br /&gt;
&lt;br /&gt;
* http port 80 ist checked to be available as the SoftwarePhone ’s web configuration port. If not free, a search starting at port 10006 is executed to find a free port. The URL file, containing the configuration  servers web @ is adjusted to the determined free port&lt;br /&gt;
* SoftwarePhone  is startet.&lt;br /&gt;
&lt;br /&gt;
Resetting to defaults:&lt;br /&gt;
&lt;br /&gt;
*Resetting to default configuration could be done by copying the config files from the Install Directory to the Roaming Directory.&lt;br /&gt;
&lt;br /&gt;
Unattended Installation of softwarephone for ALLUSERS:&lt;br /&gt;
&lt;br /&gt;
*It&#039;s possible to install softwarephone for ALLUSERS by using the command:&lt;br /&gt;
 Msiexec /i softwarephone.msi ALLUSERS=1&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
The configuration is opened by selecting “Configuration” from the start menu. A browser connection is opend to the server running as part of SoftwarePhone and the configuration menu is displayed. &lt;br /&gt;
&lt;br /&gt;
Default login is admin/swphone.&lt;br /&gt;
&lt;br /&gt;
The configuration options are the same as for the hardware phones with a few specifics referring to SoftwarePhone running as a Windows process:&lt;br /&gt;
&lt;br /&gt;
* User Configuration&lt;br /&gt;
This tab is unique in the way that it can only be accessed from the computer SoftwarePhone is running on. Here the typical End User Configurations are set: Audio, USB-headset and process operational parameters.&lt;br /&gt;
* Application&lt;br /&gt;
The Applicatons run mode and priority can be set and wheter to register with the computers name at the PBX.&lt;br /&gt;
* Audio&lt;br /&gt;
The desired audio devices can be selected.&lt;br /&gt;
* Audio&lt;br /&gt;
The Audio –Input, -Output and –Ringing device can be selected. &lt;br /&gt;
* USB&lt;br /&gt;
To use the USB headsets function buttons here the device and appropriate map are selected.&lt;br /&gt;
&lt;br /&gt;
The default credentials are admin / swphone&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;„Application, Audio and USB Configuration&amp;quot;&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This config GUI is unique in the way that it can only be accessed (right click on the softwarephone icon) from the computer SoftwarePhone is running on. Here the typical End User Configurations are set: Audio, USB-headset and process operational parameters.&lt;br /&gt;
&lt;br /&gt;
[[Image:user_config.png]]&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Application Settings Run Mode:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
* Manual: SoftwarePhone  needs to be started manually&lt;br /&gt;
* Login: SoftwarePhone   will be started when the user logs in (don&#039;t set this option if myPBX Launcher have option &amp;quot;Run Softwarephone&amp;quot; in the same PC). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Microphone:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
The microphone selection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Speaker:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The speaker selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ringer:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The Ringing device selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Device:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	The USB headset selction.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Map:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The codepage selection for the selected usb device. Here one or two choices are presented. If a selection item that refers to the selected USB Device use this. If only “generic HID Telephonie Page” is available you can try to use the headsets button (some headsets support the generic codes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If the headsets buttons do not work for call control, then call control is solely available through myPbx. Nevertheless the USB headset can be used as the audio-in/output device.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:„Application“]&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Application configuration.&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_application.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Application Run Mode, Application Priority:  see  „User Configuration“&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Register Mode:&#039;&#039;&#039; &lt;br /&gt;
* Default: Registration modes like the  HW phones.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Anonymous registration might not work in all environments, especially those that prevent multicasts. For example, when using SoftwarePhone  over a vpn 	  connection ensure that multicast forwarding is guaranteed. Also, if a virtual machine is running on the same computer it might prevent&lt;br /&gt;
multicasts being sent on the LAN.&lt;br /&gt;
&lt;br /&gt;
* Computername: &lt;br /&gt;
The best way for registering SoftwarePhone  at the PBX. It uses the computername as it is visible on the LAN. The computername is determined by SoftwarePhone  and the appropriate parameters are set for the “Phone” modul. This configuration appears in the field “Name” under the “Phone” tab  (Example for computer„LBU-VOSTRO-W7“ ):&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_registration.jpg]]&lt;br /&gt;
 &lt;br /&gt;
== &#039;&#039;&#039;[Tab:&amp;quot;Audio”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „User Configuration“&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:“USB”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „User Configuration“&lt;br /&gt;
&lt;br /&gt;
= Rollout =&lt;br /&gt;
&lt;br /&gt;
Especially in larger installations it is desirable to have a mechanism for automatic configuration of the SoftwarePhones. This can be accomplished in the following way:&lt;br /&gt;
&lt;br /&gt;
SoftwarePhones installation package (softwarephone .msi)can be parametrized by creating an [http://support.microsoft.com/kb/255905/en-us Orca MSI database editor] transform with the parameters:&lt;br /&gt;
URL and POLL. Theses parameters are entered in the “Property” table&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_url.jpg]]&lt;br /&gt;
&lt;br /&gt;
It is recommended that the “POLL” value be set to “1” (shortest time:  1minute).  &lt;br /&gt;
When SoftwarePhone is installed with the transform it starts, waits 1 min (poll period) then accesses the script file specified in the “POLL” parameter and executes the commands therein. &lt;br /&gt;
To register SoftwarePhone  with the computername at the PBX the script file should look as follows (example showing the PBX @ “192.168.178.22” with the identifier  „IP800-06-25-6e” :&lt;br /&gt;
&lt;br /&gt;
 …&lt;br /&gt;
 #set the PBX @ and Identifier&lt;br /&gt;
 config change PHONE SIG /prot H323 /gk-addr 192.168.178.22 /gk-id IP800-06-25-6e&lt;br /&gt;
&lt;br /&gt;
 #register with computername&lt;br /&gt;
 mod cmd APP0 app-set /op OK /reg_mode ComputerName&lt;br /&gt;
&lt;br /&gt;
 #reset the automatic configuration update&lt;br /&gt;
 config add UP1 /url &lt;br /&gt;
&lt;br /&gt;
 #reset SoftwarePhone and apply config&lt;br /&gt;
 reset &lt;br /&gt;
&lt;br /&gt;
Another method to provide configurations to the installed SoftwarePhone s is preparing a configuration template by configuring one SoftwarePhone  entity, then using the generated “swphone_commands.cfg” file in the &amp;lt;users roaming directory &amp;gt;\innovaphone\SoftwarePhone &lt;br /&gt;
as the template, copying it to the update location  and using it in the script file:&lt;br /&gt;
&lt;br /&gt;
 #invoke configuration template&lt;br /&gt;
 mod cmd UP0 cfg  &amp;lt;update directory location&amp;gt;/swphone_commands.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This method is particularly helpful when many USB headset of the same type are used.&lt;br /&gt;
&lt;br /&gt;
= Supported USB headsets =&lt;br /&gt;
&lt;br /&gt;
The following USB headsets are supported for onhook/offhook functionality:&lt;br /&gt;
&lt;br /&gt;
{{FIXME|reason=&amp;quot;Needs to be tested&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
* innovaphone IP 10 (I)&lt;br /&gt;
* innovaphone IP 10 (II)&lt;br /&gt;
* Handset for Voip (Couple) (ZMM)&lt;br /&gt;
* Handset for Voip (Internet) (ZMM)&lt;br /&gt;
* Claritel-i750 - vp (generated)&lt;br /&gt;
* GN 8120 USB&lt;br /&gt;
* Plantronics CS50/CS60-USB Headset&lt;br /&gt;
* GN 9350&lt;br /&gt;
* GN 9335e USB port&lt;br /&gt;
* Jabra A330 device 2&lt;br /&gt;
* Jabra BIZ 2400&lt;br /&gt;
* Jabra LINK 320 USB&lt;br /&gt;
* Jabra LINK 350 USB&lt;br /&gt;
* Jabra LINK 360 USB *&lt;br /&gt;
* Jabra PRO 9460 (1041)&lt;br /&gt;
* Jabra PRO 94(60/70) (1042)&lt;br /&gt;
* Jabra GO 6470 (1003)&lt;br /&gt;
* Jabra GO 6470 (1004)&lt;br /&gt;
* Jabra PRO 930 (930-25-509-101)&lt;br /&gt;
* Jabra LINK 350 OC&lt;br /&gt;
* Jabra GO 6430 (6430-17-20-201) | Version C&lt;br /&gt;
* Jabra SUPREME UC (5078-230-310)&lt;br /&gt;
* Plantronics Savi 740&lt;br /&gt;
* Sennheiser VoIP USB headset&lt;br /&gt;
* Sennheiser DECT&lt;br /&gt;
* Sennheiser CEHS-CI 02&lt;br /&gt;
* Jabra SPEAK 410 USB Mono&lt;br /&gt;
* Jabra SPEAK 410 USB Stereo&lt;br /&gt;
* Jabra BIZ 2400 Mono USB&lt;br /&gt;
* Jabra BIZ 2400 USB Mono&lt;br /&gt;
* Jabra BIZ 2400 USB Mono (2)&lt;br /&gt;
* Jabra PRO 9450&lt;br /&gt;
* Jabra PRO 9450 (2)&lt;br /&gt;
* Jabra BIZ 620 Mono&lt;br /&gt;
* Jabra UC Voice 550 Duo(5599-829-209)&lt;br /&gt;
* Jabra UC Voice 550 Mono(5593-829-209)&lt;br /&gt;
* Jabra LINK 280(280-09)&lt;br /&gt;
* Jabra LINK 14201-30 (DHSG-USB Adapter)&lt;br /&gt;
* GN Netcom Jabra 2000 USB Duo NC EMEA&lt;br /&gt;
* GN2000 Stereo USB&lt;br /&gt;
* Plantronics - Voyager PRO UC v2 (USB/bluetooth)&lt;br /&gt;
* Plantronics - CALISTO P420 USB&lt;br /&gt;
* Plantronics - Voyager PRO UC v2 (USB/bluetooth) (2)&lt;br /&gt;
* Plantronics - Blackwire C320 (85619-02)&lt;br /&gt;
* Plantronics - Blackwire C720 (87506-02)&lt;br /&gt;
* Plantronics - DA45 (USB/Wired)&lt;br /&gt;
* Plantronics - Blackwire C620 (USB/Wired)&lt;br /&gt;
* Plantronics - C420 (product aa10)&lt;br /&gt;
* Plantronics - C420 (product aa14)&lt;br /&gt;
* Plantronics - C435 (P.N. 85800-05)&lt;br /&gt;
* Plantronics D100 (USB/Bluetooth, Savi W430, W440)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*&#039;&#039;&#039; - Reported by costumer not working the MAP keys, however was detected by the Softwarephone.&lt;br /&gt;
&lt;br /&gt;
= Special headsets and behaviours =&lt;br /&gt;
Depending on the headset, the used firmware of the headset and special settings in the headset configuration - the standard delivered USB-HID-table inside the softphone-package will not always work.&lt;br /&gt;
&lt;br /&gt;
Improvements in the hid-table concerning special headset behaviour will be delivered with new firmware/service release versions of the softwarephone.&lt;br /&gt;
&lt;br /&gt;
As the &amp;quot;standard&amp;quot; hid-table may work for most of the headsets, selection of the improved table has to be done manually according to the description below:&lt;br /&gt;
&lt;br /&gt;
== Activation ==&lt;br /&gt;
After start-up of the softwarephone, right click the softwarephone-icon in the event-tray and select &amp;quot;Configuration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Swphone_hid_adaption.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the USB-map selection, one can select the headset to be used.&lt;br /&gt;
In the lowermost field, the table to be used has to be selected.&lt;br /&gt;
If the default table does not work, the improved one named &amp;lt;headset&amp;gt;-2 can be selected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Swphone_hid_adaption_map.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details see below.&lt;br /&gt;
== Jabra 930 UC ==&lt;br /&gt;
&lt;br /&gt;
* Problem: Onhook at headset only possible with two clicks. &lt;br /&gt;
* Fixed: to one-click-onhook&lt;br /&gt;
* Map to select: Jabra PRO 930-2 (930-25-509-101)&lt;br /&gt;
* Headset settings: [[Image:jabra930-2_settings.png]]&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting Connectivity Problems =&lt;br /&gt;
&lt;br /&gt;
If you experience problems with softwarephone attaching to the PBX or not being able to make calls please check the following:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “Phone” tab whether the state is “up”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “General” tab if License is “Valid”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start a command window as Administrator and issue a “netstat –a –b &amp;gt; swphone_netstat.txt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “swphone_netstat.txt” file search for “1720”. There should be an entry like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TCP    0.0.0.0:1720           LBU-VOSTRO-W7:0        LISTENING&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[softwarephone.exe].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please search for other occurances of “&#039;&#039;&#039;1720&#039;&#039;&#039;” to ensure that no other processes listen to this port.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Make a softwarephone trace to see if the packets are received by softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “Maintenance” tab “Tracing” enable “&#039;&#039;&#039;H.323 Signaling&#039;&#039;&#039;”, “&#039;&#039;&#039;Phone&#039;&#039;&#039;” and “&#039;&#039;&#039;All TCP/UDP Traffic&#039;&#039;&#039;”. Then try to make the call. In the resulting trace you should see the events like the following:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;0:0103:337:3 - RECV RESULT[](662 from pla(192.168.178.22:60003) type: 1)&lt;br /&gt;
0:0103:337:3 - PHONE_LISTEN.1 -&amp;gt; PHONE_REG.1 : SIG_SETUP faststart=3ac8bec cmd=PROPOSAL cdpn=400&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If these events are no present in the trace it could be that the firewall settings prevent some of softwarephone’s functions. This could be the Firewall.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Check the firewall settings for softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please open the “System Administration\Windows-Firewall\Allow Program.. Ensure that softwarephone is enabled on the required interfaces. If this doesn’t solve the problem then temporaryly disable the firewall completely and try again. &lt;br /&gt;
Now even with the firewall disabled there could be some other security software that causes the problem. To find out if packets to the “h323hostcall” port (1720) are filtered by the firewall you can use the commands “&#039;&#039;&#039;netsh wfp capture start&#039;&#039;&#039;” to start a trace of the test and “&#039;&#039;&#039;netsh wfp capture stop&#039;&#039;&#039;” to stop the trace. The trace is written into the file: “&#039;&#039;&#039;wfpdiag.cab&#039;&#039;&#039;” . Extract the file: “&#039;&#039;&#039;wfpdiag.xml&#039;&#039;&#039;”. In this file search for “1720”. If the packet is filtered by the firewall an entry like the following can be found:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;netEvent&amp;gt;&lt;br /&gt;
   &amp;lt;header&amp;gt;&lt;br /&gt;
     &amp;lt;timeStamp&amp;gt;2013-11-05T11:20:27.367Z&amp;lt;/timeStamp&amp;gt;&lt;br /&gt;
     &amp;lt;flags numItems=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_APP_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_USER_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_VERSION_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
     &amp;lt;/flags&amp;gt;&lt;br /&gt;
     &amp;lt;ipVersion&amp;gt;FWP_IP_VERSION_V4&amp;lt;/ipVersion&amp;gt;&lt;br /&gt;
     &amp;lt;ipProtocol&amp;gt;6&amp;lt;/ipProtocol&amp;gt;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &amp;lt;localPort&amp;gt;&#039;&#039;&#039;1720&#039;&#039;&#039;&amp;lt;/localPort&amp;gt;&lt;br /&gt;
     &amp;lt;remotePort&amp;gt;60007&amp;lt;/remotePort&amp;gt;&lt;br /&gt;
     &amp;lt;scopeId&amp;gt;0&amp;lt;/scopeId&amp;gt;&lt;br /&gt;
     &amp;lt;appId&amp;gt;							&lt;br /&gt;
       &amp;lt;data&amp;gt; …&amp;lt;/data&amp;gt;&lt;br /&gt;
       &amp;lt;asString&amp;gt;...&amp;lt;/asString&amp;gt;&lt;br /&gt;
     &amp;lt;/appId&amp;gt;&lt;br /&gt;
     &amp;lt;userId&amp;gt;S-1-5-21-3364624427-3176291796-194291593-006&amp;lt;/userId&amp;gt;&lt;br /&gt;
   &amp;lt;/header&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;FWPM_NET_EVENT_TYPE_CLASSIFY_DROP&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;classifyDrop&amp;gt;&lt;br /&gt;
     &amp;lt;filterId&amp;gt;105267&amp;lt;/filterId&amp;gt;&lt;br /&gt;
     &amp;lt;layerId&amp;gt;44&amp;lt;/layerId&amp;gt;&lt;br /&gt;
     &amp;lt;reauthReason&amp;gt;0&amp;lt;/reauthReason&amp;gt;&lt;br /&gt;
     &amp;lt;originalProfile&amp;gt;2&amp;lt;/originalProfile&amp;gt;&lt;br /&gt;
     &amp;lt;currentProfile&amp;gt;2&amp;lt;/currentProfile&amp;gt;&lt;br /&gt;
   &amp;lt;/classifyDrop&amp;gt;&lt;br /&gt;
 &amp;lt;/netEvent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
and the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
should be your computers and the PBX’s @. &lt;br /&gt;
&lt;br /&gt;
* Check if the setup from the PBX is received at the local computer and what happens with it&lt;br /&gt;
&lt;br /&gt;
Sometimes, Antivirus Packages can implement their own network access policy. This can result in a h323 release complete with cause “User Busy” to an incoming Setup from the PBX before any other softwarephone is reached. To see which process Sends/Receives the packets in a flow you can use the “netmon”, Microsofts free Packet tracer.&lt;br /&gt;
&lt;br /&gt;
= How to obtain debug traces of softwarephone using icollect =&lt;br /&gt;
&lt;br /&gt;
Included in the installation path (C:\Program Files (x86)\innovaphone\SoftwarePhone) there is a tool called &#039;&#039;&#039;icollect.exe&#039;&#039;&#039;. After we reproduce a problem we can run this tool to generate debug files that are saved in the roaming folder (C:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone) as &amp;quot;debug-info.zip&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If the issue it&#039;s related to an application crash  please enable the &amp;quot;File Trace&amp;quot; flag at &amp;quot;http://localhost:10006/debug.xml&amp;quot; before and restart the softwarephone. &lt;br /&gt;
&lt;br /&gt;
This is necessary when reporting a bug/problem with innovaphone softwarephone v11.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Please when providing a crash dump captured by icollect always use the latest SR (service release) of the softwarephone. Don&#039;t send us crash dumps of older versions since this will just take more time/effort to be analyzed by our developer team.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Known Issue=&lt;br /&gt;
&lt;br /&gt;
=== G.711 only and G729 Optional===&lt;br /&gt;
The software phone does support G.711 codec only, no G.723 or G.722.&lt;br /&gt;
Optionally we can use G729 if G729 Channel licenses are present and available on the PBX.&lt;br /&gt;
&lt;br /&gt;
===Another program is blocking the softphone===&lt;br /&gt;
&lt;br /&gt;
Another program (e.g XCAPI) might be listening on tcp port 1720 as well. If you want to use both programs simultaneously you can change the signaling port of the softphone to another port like 1721.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;http://localhost/!config add PHONE SIG /ep-addr 0.0.0.0:1721&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to find out which program is listening on which port we recommend using a little tool called TCP View. You’ll find it here:&lt;br /&gt;
&lt;br /&gt;
http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx&lt;br /&gt;
&lt;br /&gt;
=== No license obtained from PBX if SIP Protocol it&#039;s used===&lt;br /&gt;
&lt;br /&gt;
When using Innovaphone v10 softwarephone with SIP Protocol no license it&#039;s obtained from the PBX. It&#039;s necessary to use H.323 always.&lt;br /&gt;
&lt;br /&gt;
=== Headset Basestation doesn&#039;t Ring ===&lt;br /&gt;
&lt;br /&gt;
Often it&#039;s reported that the Basestation of Wireless Headsets doesn&#039;t Ring on incoming call, this is a feature that is missing and there exist already a Feature Request for it - [[Support:DVL-Feature_Requests#Alerting_on_Wireless_headset_base_also | Alerting on Wireless headset base also]] .&lt;br /&gt;
&lt;br /&gt;
=== Windows Volume lowers automatically when receiving a call ===&lt;br /&gt;
&lt;br /&gt;
The volume can be set for swphone exclusively by the Windows mixer. It appears in the mixer because it has a Audio stream Interface to the Windows Audio System, but no way adjust the volume by itself. When such an effect occurs it is best to check the Windows configuration: if it is set to Change volume for applications when certain Events occur:&lt;br /&gt;
&lt;br /&gt;
[http://superuser.com/questions/74116/windows-7-lowers-applications-volume-automatically Windows 7 lowers applications&#039; volume automatically]&lt;br /&gt;
&lt;br /&gt;
=== H.323/TLS Connection not Trusted by Default ===&lt;br /&gt;
&lt;br /&gt;
Please check the [[Reference11r1:Concept_H.323_over_TCP/TLS_(H.460.17)#Known_Issues|H.323/TLS Known Issues article]].&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Softwarephone&amp;diff=43709</id>
		<title>Reference12r1:Concept Softwarephone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Softwarephone&amp;diff=43709"/>
		<updated>2016-08-17T13:57:48Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* &amp;#039;&amp;#039;&amp;#039;[Tab: „User Configuration&amp;quot;]&amp;#039;&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
= General =&lt;br /&gt;
&lt;br /&gt;
Innovaphone SoftwarePhone  is the implementation of innovaphones HW phones software as a Windows process. So all the features native to the hardwarephones are present in SoftwarePhone  as well. SoftwarePhone  has no UI, it is operated via myPBX or 3rd Party CTI client (ex: Estos Procall).&lt;br /&gt;
&lt;br /&gt;
=System Requirements=&lt;br /&gt;
The innovaphone SoftwarePhone requires:&lt;br /&gt;
*Windows 7 or later.&lt;br /&gt;
*Innovaphone PBX with SoftwarePhones&amp;lt;v&amp;gt; License.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Prior to installing the  10.00  Version of  innovaphone SoftwarePhone  an eventually installed 9.00 version must be manually deinstalled. From version 10.00 on, subsequent releases can be updated without first deinstalling the older version.&lt;br /&gt;
When updating the installation, the previous configuration (if existing) is reused. Otherwise a default configuration is installed.&lt;br /&gt;
 &lt;br /&gt;
The following items are installed:&lt;br /&gt;
&lt;br /&gt;
* SoftwarePhone .exe and related files (dll) in Program files (x86)\innovaphone\SoftwarePhone &lt;br /&gt;
* Hid.tbl (the code definitoins of supported USB headsets) in Program files (x86) \innovaphone\SoftwarePhone &lt;br /&gt;
* The config files „swphone_config.cfg“ and „swphone_command.cfg” in the User Roaming directory (if no previous configuration is located there, otherwise the old configuration is used, Roaming Directory Location : &amp;lt;drive&amp;gt;:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone\SoftwarePhone\)&lt;br /&gt;
&lt;br /&gt;
Installation Process:&lt;br /&gt;
&lt;br /&gt;
* http port 80 ist checked to be available as the SoftwarePhone ’s web configuration port. If not free, a search starting at port 10006 is executed to find a free port. The URL file, containing the configuration  servers web @ is adjusted to the determined free port&lt;br /&gt;
* SoftwarePhone  is startet.&lt;br /&gt;
&lt;br /&gt;
Resetting to defaults:&lt;br /&gt;
&lt;br /&gt;
*Resetting to default configuration could be done by copying the config files from the Install Directory to the Roaming Directory.&lt;br /&gt;
&lt;br /&gt;
Unattended Installation of softwarephone for ALLUSERS:&lt;br /&gt;
&lt;br /&gt;
*It&#039;s possible to install softwarephone for ALLUSERS by using the command:&lt;br /&gt;
 Msiexec /i softwarephone.msi ALLUSERS=1&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
The configuration is opened by selecting “Configuration” from the start menu. A browser connection is opend to the server running as part of SoftwarePhone and the configuration menu is displayed. &lt;br /&gt;
&lt;br /&gt;
Default login is admin/swphone.&lt;br /&gt;
&lt;br /&gt;
The configuration options are the same as for the hardware phones with a few specifics referring to SoftwarePhone running as a Windows process:&lt;br /&gt;
&lt;br /&gt;
* User Configuration&lt;br /&gt;
This tab is unique in the way that it can only be accessed from the computer SoftwarePhone is running on. Here the typical End User Configurations are set: Audio, USB-headset and process operational parameters.&lt;br /&gt;
* Application&lt;br /&gt;
The Applicatons run mode and priority can be set and wheter to register with the computers name at the PBX.&lt;br /&gt;
* Audio&lt;br /&gt;
The desired audio devices can be selected.&lt;br /&gt;
* Audio&lt;br /&gt;
The Audio –Input, -Output and –Ringing device can be selected. &lt;br /&gt;
* USB&lt;br /&gt;
To use the USB headsets function buttons here the device and appropriate map are selected.&lt;br /&gt;
&lt;br /&gt;
The default credentials are admin / swphone&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab: „User Configuration&amp;quot;]&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This config GUI is unique in the way that it can only be accessed from the computer SoftwarePhone is running on. Here the typical End User Configurations are set: Audio, USB-headset and process operational parameters.&lt;br /&gt;
&lt;br /&gt;
[[Image:user_config.png]]&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Application Settings Run Mode:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
* Manual: SoftwarePhone  needs to be started manually&lt;br /&gt;
* Login: SoftwarePhone   will be started when the user logs in (don&#039;t set this option if myPBX Launcher have option &amp;quot;Run Softwarephone&amp;quot; in the same PC). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Microphone:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
The microphone selection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Speaker:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The speaker selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ringer:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The Ringing device selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Device:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	The USB headset selction.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Map:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The codepage selection for the selected usb device. Here one or two choices are presented. If a selection item that refers to the selected USB Device use this. If only “generic HID Telephonie Page” is available you can try to use the headsets button (some headsets support the generic codes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If the headsets buttons do not work for call control, then call control is solely available through myPbx. Nevertheless the USB headset can be used as the audio-in/output device.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:„Application“]&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Application configuration.&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_application.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Application Run Mode, Application Priority:  see  „User Configuration“&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Register Mode:&#039;&#039;&#039; &lt;br /&gt;
* Default: Registration modes like the  HW phones.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Anonymous registration might not work in all environments, especially those that prevent multicasts. For example, when using SoftwarePhone  over a vpn 	  connection ensure that multicast forwarding is guaranteed. Also, if a virtual machine is running on the same computer it might prevent&lt;br /&gt;
multicasts being sent on the LAN.&lt;br /&gt;
&lt;br /&gt;
* Computername: &lt;br /&gt;
The best way for registering SoftwarePhone  at the PBX. It uses the computername as it is visible on the LAN. The computername is determined by SoftwarePhone  and the appropriate parameters are set for the “Phone” modul. This configuration appears in the field “Name” under the “Phone” tab  (Example for computer„LBU-VOSTRO-W7“ ):&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_registration.jpg]]&lt;br /&gt;
 &lt;br /&gt;
== &#039;&#039;&#039;[Tab:&amp;quot;Audio”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „User Configuration“&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:“USB”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „User Configuration“&lt;br /&gt;
&lt;br /&gt;
= Rollout =&lt;br /&gt;
&lt;br /&gt;
Especially in larger installations it is desirable to have a mechanism for automatic configuration of the SoftwarePhones. This can be accomplished in the following way:&lt;br /&gt;
&lt;br /&gt;
SoftwarePhones installation package (softwarephone .msi)can be parametrized by creating an [http://support.microsoft.com/kb/255905/en-us Orca MSI database editor] transform with the parameters:&lt;br /&gt;
URL and POLL. Theses parameters are entered in the “Property” table&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_url.jpg]]&lt;br /&gt;
&lt;br /&gt;
It is recommended that the “POLL” value be set to “1” (shortest time:  1minute).  &lt;br /&gt;
When SoftwarePhone is installed with the transform it starts, waits 1 min (poll period) then accesses the script file specified in the “POLL” parameter and executes the commands therein. &lt;br /&gt;
To register SoftwarePhone  with the computername at the PBX the script file should look as follows (example showing the PBX @ “192.168.178.22” with the identifier  „IP800-06-25-6e” :&lt;br /&gt;
&lt;br /&gt;
 …&lt;br /&gt;
 #set the PBX @ and Identifier&lt;br /&gt;
 config change PHONE SIG /prot H323 /gk-addr 192.168.178.22 /gk-id IP800-06-25-6e&lt;br /&gt;
&lt;br /&gt;
 #register with computername&lt;br /&gt;
 mod cmd APP0 app-set /op OK /reg_mode ComputerName&lt;br /&gt;
&lt;br /&gt;
 #reset the automatic configuration update&lt;br /&gt;
 config add UP1 /url &lt;br /&gt;
&lt;br /&gt;
 #reset SoftwarePhone and apply config&lt;br /&gt;
 reset &lt;br /&gt;
&lt;br /&gt;
Another method to provide configurations to the installed SoftwarePhone s is preparing a configuration template by configuring one SoftwarePhone  entity, then using the generated “swphone_commands.cfg” file in the &amp;lt;users roaming directory &amp;gt;\innovaphone\SoftwarePhone &lt;br /&gt;
as the template, copying it to the update location  and using it in the script file:&lt;br /&gt;
&lt;br /&gt;
 #invoke configuration template&lt;br /&gt;
 mod cmd UP0 cfg  &amp;lt;update directory location&amp;gt;/swphone_commands.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This method is particularly helpful when many USB headset of the same type are used.&lt;br /&gt;
&lt;br /&gt;
= Supported USB headsets =&lt;br /&gt;
&lt;br /&gt;
The following USB headsets are supported for onhook/offhook functionality:&lt;br /&gt;
&lt;br /&gt;
{{FIXME|reason=&amp;quot;Needs to be tested&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
* innovaphone IP 10 (I)&lt;br /&gt;
* innovaphone IP 10 (II)&lt;br /&gt;
* Handset for Voip (Couple) (ZMM)&lt;br /&gt;
* Handset for Voip (Internet) (ZMM)&lt;br /&gt;
* Claritel-i750 - vp (generated)&lt;br /&gt;
* GN 8120 USB&lt;br /&gt;
* Plantronics CS50/CS60-USB Headset&lt;br /&gt;
* GN 9350&lt;br /&gt;
* GN 9335e USB port&lt;br /&gt;
* Jabra A330 device 2&lt;br /&gt;
* Jabra BIZ 2400&lt;br /&gt;
* Jabra LINK 320 USB&lt;br /&gt;
* Jabra LINK 350 USB&lt;br /&gt;
* Jabra LINK 360 USB *&lt;br /&gt;
* Jabra PRO 9460 (1041)&lt;br /&gt;
* Jabra PRO 94(60/70) (1042)&lt;br /&gt;
* Jabra GO 6470 (1003)&lt;br /&gt;
* Jabra GO 6470 (1004)&lt;br /&gt;
* Jabra PRO 930 (930-25-509-101)&lt;br /&gt;
* Jabra LINK 350 OC&lt;br /&gt;
* Jabra GO 6430 (6430-17-20-201) | Version C&lt;br /&gt;
* Jabra SUPREME UC (5078-230-310)&lt;br /&gt;
* Plantronics Savi 740&lt;br /&gt;
* Sennheiser VoIP USB headset&lt;br /&gt;
* Sennheiser DECT&lt;br /&gt;
* Sennheiser CEHS-CI 02&lt;br /&gt;
* Jabra SPEAK 410 USB Mono&lt;br /&gt;
* Jabra SPEAK 410 USB Stereo&lt;br /&gt;
* Jabra BIZ 2400 Mono USB&lt;br /&gt;
* Jabra BIZ 2400 USB Mono&lt;br /&gt;
* Jabra BIZ 2400 USB Mono (2)&lt;br /&gt;
* Jabra PRO 9450&lt;br /&gt;
* Jabra PRO 9450 (2)&lt;br /&gt;
* Jabra BIZ 620 Mono&lt;br /&gt;
* Jabra UC Voice 550 Duo(5599-829-209)&lt;br /&gt;
* Jabra UC Voice 550 Mono(5593-829-209)&lt;br /&gt;
* Jabra LINK 280(280-09)&lt;br /&gt;
* Jabra LINK 14201-30 (DHSG-USB Adapter)&lt;br /&gt;
* GN Netcom Jabra 2000 USB Duo NC EMEA&lt;br /&gt;
* GN2000 Stereo USB&lt;br /&gt;
* Plantronics - Voyager PRO UC v2 (USB/bluetooth)&lt;br /&gt;
* Plantronics - CALISTO P420 USB&lt;br /&gt;
* Plantronics - Voyager PRO UC v2 (USB/bluetooth) (2)&lt;br /&gt;
* Plantronics - Blackwire C320 (85619-02)&lt;br /&gt;
* Plantronics - Blackwire C720 (87506-02)&lt;br /&gt;
* Plantronics - DA45 (USB/Wired)&lt;br /&gt;
* Plantronics - Blackwire C620 (USB/Wired)&lt;br /&gt;
* Plantronics - C420 (product aa10)&lt;br /&gt;
* Plantronics - C420 (product aa14)&lt;br /&gt;
* Plantronics - C435 (P.N. 85800-05)&lt;br /&gt;
* Plantronics D100 (USB/Bluetooth, Savi W430, W440)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*&#039;&#039;&#039; - Reported by costumer not working the MAP keys, however was detected by the Softwarephone.&lt;br /&gt;
&lt;br /&gt;
= Special headsets and behaviours =&lt;br /&gt;
Depending on the headset, the used firmware of the headset and special settings in the headset configuration - the standard delivered USB-HID-table inside the softphone-package will not always work.&lt;br /&gt;
&lt;br /&gt;
Improvements in the hid-table concerning special headset behaviour will be delivered with new firmware/service release versions of the softwarephone.&lt;br /&gt;
&lt;br /&gt;
As the &amp;quot;standard&amp;quot; hid-table may work for most of the headsets, selection of the improved table has to be done manually according to the description below:&lt;br /&gt;
&lt;br /&gt;
== Activation ==&lt;br /&gt;
After start-up of the softwarephone, right click the softwarephone-icon in the event-tray and select &amp;quot;Configuration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Swphone_hid_adaption.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the USB-map selection, one can select the headset to be used.&lt;br /&gt;
In the lowermost field, the table to be used has to be selected.&lt;br /&gt;
If the default table does not work, the improved one named &amp;lt;headset&amp;gt;-2 can be selected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Swphone_hid_adaption_map.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details see below.&lt;br /&gt;
== Jabra 930 UC ==&lt;br /&gt;
&lt;br /&gt;
* Problem: Onhook at headset only possible with two clicks. &lt;br /&gt;
* Fixed: to one-click-onhook&lt;br /&gt;
* Map to select: Jabra PRO 930-2 (930-25-509-101)&lt;br /&gt;
* Headset settings: [[Image:jabra930-2_settings.png]]&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting Connectivity Problems =&lt;br /&gt;
&lt;br /&gt;
If you experience problems with softwarephone attaching to the PBX or not being able to make calls please check the following:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “Phone” tab whether the state is “up”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “General” tab if License is “Valid”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start a command window as Administrator and issue a “netstat –a –b &amp;gt; swphone_netstat.txt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “swphone_netstat.txt” file search for “1720”. There should be an entry like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TCP    0.0.0.0:1720           LBU-VOSTRO-W7:0        LISTENING&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[softwarephone.exe].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please search for other occurances of “&#039;&#039;&#039;1720&#039;&#039;&#039;” to ensure that no other processes listen to this port.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Make a softwarephone trace to see if the packets are received by softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “Maintenance” tab “Tracing” enable “&#039;&#039;&#039;H.323 Signaling&#039;&#039;&#039;”, “&#039;&#039;&#039;Phone&#039;&#039;&#039;” and “&#039;&#039;&#039;All TCP/UDP Traffic&#039;&#039;&#039;”. Then try to make the call. In the resulting trace you should see the events like the following:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;0:0103:337:3 - RECV RESULT[](662 from pla(192.168.178.22:60003) type: 1)&lt;br /&gt;
0:0103:337:3 - PHONE_LISTEN.1 -&amp;gt; PHONE_REG.1 : SIG_SETUP faststart=3ac8bec cmd=PROPOSAL cdpn=400&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If these events are no present in the trace it could be that the firewall settings prevent some of softwarephone’s functions. This could be the Firewall.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Check the firewall settings for softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please open the “System Administration\Windows-Firewall\Allow Program.. Ensure that softwarephone is enabled on the required interfaces. If this doesn’t solve the problem then temporaryly disable the firewall completely and try again. &lt;br /&gt;
Now even with the firewall disabled there could be some other security software that causes the problem. To find out if packets to the “h323hostcall” port (1720) are filtered by the firewall you can use the commands “&#039;&#039;&#039;netsh wfp capture start&#039;&#039;&#039;” to start a trace of the test and “&#039;&#039;&#039;netsh wfp capture stop&#039;&#039;&#039;” to stop the trace. The trace is written into the file: “&#039;&#039;&#039;wfpdiag.cab&#039;&#039;&#039;” . Extract the file: “&#039;&#039;&#039;wfpdiag.xml&#039;&#039;&#039;”. In this file search for “1720”. If the packet is filtered by the firewall an entry like the following can be found:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;netEvent&amp;gt;&lt;br /&gt;
   &amp;lt;header&amp;gt;&lt;br /&gt;
     &amp;lt;timeStamp&amp;gt;2013-11-05T11:20:27.367Z&amp;lt;/timeStamp&amp;gt;&lt;br /&gt;
     &amp;lt;flags numItems=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_APP_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_USER_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_VERSION_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
     &amp;lt;/flags&amp;gt;&lt;br /&gt;
     &amp;lt;ipVersion&amp;gt;FWP_IP_VERSION_V4&amp;lt;/ipVersion&amp;gt;&lt;br /&gt;
     &amp;lt;ipProtocol&amp;gt;6&amp;lt;/ipProtocol&amp;gt;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &amp;lt;localPort&amp;gt;&#039;&#039;&#039;1720&#039;&#039;&#039;&amp;lt;/localPort&amp;gt;&lt;br /&gt;
     &amp;lt;remotePort&amp;gt;60007&amp;lt;/remotePort&amp;gt;&lt;br /&gt;
     &amp;lt;scopeId&amp;gt;0&amp;lt;/scopeId&amp;gt;&lt;br /&gt;
     &amp;lt;appId&amp;gt;							&lt;br /&gt;
       &amp;lt;data&amp;gt; …&amp;lt;/data&amp;gt;&lt;br /&gt;
       &amp;lt;asString&amp;gt;...&amp;lt;/asString&amp;gt;&lt;br /&gt;
     &amp;lt;/appId&amp;gt;&lt;br /&gt;
     &amp;lt;userId&amp;gt;S-1-5-21-3364624427-3176291796-194291593-006&amp;lt;/userId&amp;gt;&lt;br /&gt;
   &amp;lt;/header&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;FWPM_NET_EVENT_TYPE_CLASSIFY_DROP&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;classifyDrop&amp;gt;&lt;br /&gt;
     &amp;lt;filterId&amp;gt;105267&amp;lt;/filterId&amp;gt;&lt;br /&gt;
     &amp;lt;layerId&amp;gt;44&amp;lt;/layerId&amp;gt;&lt;br /&gt;
     &amp;lt;reauthReason&amp;gt;0&amp;lt;/reauthReason&amp;gt;&lt;br /&gt;
     &amp;lt;originalProfile&amp;gt;2&amp;lt;/originalProfile&amp;gt;&lt;br /&gt;
     &amp;lt;currentProfile&amp;gt;2&amp;lt;/currentProfile&amp;gt;&lt;br /&gt;
   &amp;lt;/classifyDrop&amp;gt;&lt;br /&gt;
 &amp;lt;/netEvent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
and the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
should be your computers and the PBX’s @. &lt;br /&gt;
&lt;br /&gt;
* Check if the setup from the PBX is received at the local computer and what happens with it&lt;br /&gt;
&lt;br /&gt;
Sometimes, Antivirus Packages can implement their own network access policy. This can result in a h323 release complete with cause “User Busy” to an incoming Setup from the PBX before any other softwarephone is reached. To see which process Sends/Receives the packets in a flow you can use the “netmon”, Microsofts free Packet tracer.&lt;br /&gt;
&lt;br /&gt;
= How to obtain debug traces of softwarephone using icollect =&lt;br /&gt;
&lt;br /&gt;
Included in the installation path (C:\Program Files (x86)\innovaphone\SoftwarePhone) there is a tool called &#039;&#039;&#039;icollect.exe&#039;&#039;&#039;. After we reproduce a problem we can run this tool to generate debug files that are saved in the roaming folder (C:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone) as &amp;quot;debug-info.zip&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If the issue it&#039;s related to an application crash  please enable the &amp;quot;File Trace&amp;quot; flag at &amp;quot;http://localhost:10006/debug.xml&amp;quot; before and restart the softwarephone. &lt;br /&gt;
&lt;br /&gt;
This is necessary when reporting a bug/problem with innovaphone softwarephone v11.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Please when providing a crash dump captured by icollect always use the latest SR (service release) of the softwarephone. Don&#039;t send us crash dumps of older versions since this will just take more time/effort to be analyzed by our developer team.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Known Issue=&lt;br /&gt;
&lt;br /&gt;
=== G.711 only and G729 Optional===&lt;br /&gt;
The software phone does support G.711 codec only, no G.723 or G.722.&lt;br /&gt;
Optionally we can use G729 if G729 Channel licenses are present and available on the PBX.&lt;br /&gt;
&lt;br /&gt;
===Another program is blocking the softphone===&lt;br /&gt;
&lt;br /&gt;
Another program (e.g XCAPI) might be listening on tcp port 1720 as well. If you want to use both programs simultaneously you can change the signaling port of the softphone to another port like 1721.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;http://localhost/!config add PHONE SIG /ep-addr 0.0.0.0:1721&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to find out which program is listening on which port we recommend using a little tool called TCP View. You’ll find it here:&lt;br /&gt;
&lt;br /&gt;
http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx&lt;br /&gt;
&lt;br /&gt;
=== No license obtained from PBX if SIP Protocol it&#039;s used===&lt;br /&gt;
&lt;br /&gt;
When using Innovaphone v10 softwarephone with SIP Protocol no license it&#039;s obtained from the PBX. It&#039;s necessary to use H.323 always.&lt;br /&gt;
&lt;br /&gt;
=== Headset Basestation doesn&#039;t Ring ===&lt;br /&gt;
&lt;br /&gt;
Often it&#039;s reported that the Basestation of Wireless Headsets doesn&#039;t Ring on incoming call, this is a feature that is missing and there exist already a Feature Request for it - [[Support:DVL-Feature_Requests#Alerting_on_Wireless_headset_base_also | Alerting on Wireless headset base also]] .&lt;br /&gt;
&lt;br /&gt;
=== Windows Volume lowers automatically when receiving a call ===&lt;br /&gt;
&lt;br /&gt;
The volume can be set for swphone exclusively by the Windows mixer. It appears in the mixer because it has a Audio stream Interface to the Windows Audio System, but no way adjust the volume by itself. When such an effect occurs it is best to check the Windows configuration: if it is set to Change volume for applications when certain Events occur:&lt;br /&gt;
&lt;br /&gt;
[http://superuser.com/questions/74116/windows-7-lowers-applications-volume-automatically Windows 7 lowers applications&#039; volume automatically]&lt;br /&gt;
&lt;br /&gt;
=== H.323/TLS Connection not Trusted by Default ===&lt;br /&gt;
&lt;br /&gt;
Please check the [[Reference11r1:Concept_H.323_over_TCP/TLS_(H.460.17)#Known_Issues|H.323/TLS Known Issues article]].&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:User_config.png&amp;diff=43708</id>
		<title>File:User config.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:User_config.png&amp;diff=43708"/>
		<updated>2016-08-17T13:50:15Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:How_to_implement_large_PBXs&amp;diff=43272</id>
		<title>Howto:How to implement large PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:How_to_implement_large_PBXs&amp;diff=43272"/>
		<updated>2016-07-12T14:22:11Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Technical data and recommended number of users supported */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;innovaphone PBX installations scale from very few users (such as with an IP202) to several thousand users.  Here is how to design and configure innovaphone devices to support many users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All innovaphone PBX platforms&lt;br /&gt;
&lt;br /&gt;
build 05-5842 and later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: debugging speicherbedarf speichernutzung speicherfehler performance hardware CPU performances--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Technical issues to be considered===&lt;br /&gt;
There are a few issues to be considered when configuring a large PBX:&lt;br /&gt;
&lt;br /&gt;
* CPU power&lt;br /&gt;
The platform must be able to cope with all processing requirements to serve the user base.   The basic requirement is to support the number of calls created.  The ability of a given platform can be measured as its “business hour call attempts” capability, a figure which essentially indicates the number of calls per hour the platform can handle.&lt;br /&gt;
&lt;br /&gt;
Naturally, not only calls take CPU cycles.  Major scenarios to consider here include user registration, replication and SOAP/CTI applications (such as TAPI)&lt;br /&gt;
&lt;br /&gt;
* Main Memory&lt;br /&gt;
The platform must feature enough main memory to serve the user and call scenarios.  Rough “memory/feature” figures will be given.&lt;br /&gt;
&lt;br /&gt;
* Flash Memory&lt;br /&gt;
There must be enough persistent memory to store the system configuration.  Although the amount of memory used largely depends on the details of the configuration, a rule-of-thumb can be given for the “memory/user” ratio.&lt;br /&gt;
&lt;br /&gt;
* Configuration&lt;br /&gt;
&lt;br /&gt;
The configuration must be appropriate to the intended usage scenario.  Guidelines are given for various scenarios.&lt;br /&gt;
&lt;br /&gt;
* Number of channels&lt;br /&gt;
Naturally, the number of gateway channels (e.g. to the ISDN or to the DECT network) must be appropriate.  The number is a function of the so-called “erlang” value.  This issue will not be discussed here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The information presented in this article is based on practical verification by means of a sample configuration.  The setup is made up of 6000 user entries, 10 location entries, 500 speed dial entries and a number of other entries such as trunks etc.&lt;br /&gt;
&lt;br /&gt;
The configuration is attached for your reference.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:How to implement large PBXs01.jpg|frame|none|The standard Testsetup User]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:How_to_implement_large_PBXs02.jpg‎|frame|none|The standard Testsetup User (Details)]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All measurements given in the remainder of this article apply to the IP800.  Since the IP800 both in terms of processor architecture and processing power is comparable to the IP3000, the results apply to the IP3000 too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Theoretical up to 10000 User PBX can be implemented with multiple IP6000:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:How to implement large PBXs03.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Likewise, up to 15.000 users can be set up with multiple IPxx10.&lt;br /&gt;
&lt;br /&gt;
===Technical data and recommended number of users supported===&lt;br /&gt;
&lt;br /&gt;
The following table shows techncial data and differences between various hardware devices. It also includes figures for the maximum number of “users” supported by the various innovaphone PBX platforms under cetain conditions (i.e. when running the box solely as an LDAP master).  These figures are intended as a rough estimate “rule of thumb” guideline.   &lt;br /&gt;
&lt;br /&gt;
Please note that these are &#039;&#039;respective maximum&#039;&#039; figures.  That is, more than this will not work.  However, each role used in a box (e.g. &#039;&#039;LDAP db&#039;&#039;, &#039;&#039;Registration PBX&#039;&#039;, &#039;&#039;Media gateway&#039;&#039;, ...) consumes resources and the figures below are estimates of the expected possible maximum.  &#039;&#039;&#039;If you run multiple roles on a single device, you may run out of resources before&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Product&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;CPU (Mhz)&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;RAM (GB)&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;FLASH (MB)&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;NAND (GB)&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;LAP&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;RAM for LAP (GB) out of RAM&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;DSP&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;CONF&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Fax Ch&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Audio Fax Ch out of Fax Ch&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;G711&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;G723&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;G729&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;G722&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;OPUS&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;ETH&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;loop in&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;PRI&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;BRI&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;BRI inline power&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;FXO&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;FXS&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;SSD&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;CF&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Recommended maximum number of myPBX clients when using full encryption&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;PBX User (all-in-one)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| IP311||400||1||32||0,128||x||0,768||6||-||1||1||x||x||x||-||x||2*1000||-||-||-||-||4||2||x||-||75||50&lt;br /&gt;
|-&lt;br /&gt;
| IP411||400||1||32||0,128||x||0,768||6||-||1||1||x||x||x||-||x||2*1000||-||-||2||-||-||2||x||-||75||50&lt;br /&gt;
|-&lt;br /&gt;
| IP811||800||2||32||1||x||1,536||10||10||2||2||x||x||x||-||x||2*1000||x||-||5||-||-||-||x||-||750||200&lt;br /&gt;
|-&lt;br /&gt;
| IP3011||800||2||32||1||x||1,536||30||30||7||7||x||x||x||-||x||2*1000||-||1||-||-||-||-||x||-||750||500&lt;br /&gt;
|-&lt;br /&gt;
| IP0011||800||2||32||1||x||1,536||0||-||7||0||-||-||-||-||-||2*1000||-||-||-||-||-||-||x||-||750||500&lt;br /&gt;
|-&lt;br /&gt;
| IP1130||800||0,25||32||-||-||-||30||30||7||7||x||x||x||-||x||2*1000||-||1||-||-||-||-||-||-||n.a.||-&lt;br /&gt;
|-&lt;br /&gt;
| IP29||400||0,25||32||-||-||-||8||-||-||-||x||x||x||-||x||1*100||-||-||-||-||-||8||-||-||n.a.||-&lt;br /&gt;
|-&lt;br /&gt;
| IP28||125||0,032||16||-||-||-||8||||-||-||x||x||x||-||-||1*100||-||-||-||-||-||8||-||-||n.a.||-&lt;br /&gt;
|-&lt;br /&gt;
| IP38||125||0,032||16||-||-||-||8||-||1||0||x||-||x||-||-||1*100||-||-||-||-||8||-||-||-||10||10&lt;br /&gt;
|-&lt;br /&gt;
| IP302||125||0,032||8||-||-||-||4||-||1||1||x||x||x||-||-||2*100||-||-||1||-||-||2||-||x||10||10&lt;br /&gt;
|-&lt;br /&gt;
| IP305||125||0,032||8||-||-||-||4||4||1||1||x||x||x||-||-||2*100||-||-||1||-||-||2||-||x||10||10&lt;br /&gt;
|-&lt;br /&gt;
| IP800||125||0,032||8||-||-||-||10||10||2||2||x||x||x||-||-||2*100||x||-||5||x||-||-||-||x||40||40&lt;br /&gt;
|-&lt;br /&gt;
| IP810||800||0,5||32||-||x||0,384||20||20||10||10||x||x||x||-||-||2*100||x||-||5||x||-||-||-||x||200||200&lt;br /&gt;
|-&lt;br /&gt;
| IP0010||800||0,5||32||-||x||0,256||60||60||10||10||x||x||x||-||-||2*100||-||-||-||-||-||-||-||x||650||500&lt;br /&gt;
|-&lt;br /&gt;
| IP3010||800||0,5||32||-||x||0,256||42||42||10||10||x||x||x||-||-||2*100||-||1||1||-||-||-||-||x||650||500&lt;br /&gt;
|-&lt;br /&gt;
| IP6010||800||0,5||32||-||x||0,256||60||60||10||10||x||x||x||-||-||2*100||x||4||1||-||-||-||-||x||650||500&lt;br /&gt;
|-&lt;br /&gt;
| IP1060||800||0,5||16||-||x||-||60||60||60||30||x||-||-||-||-||2*100||-||2||1||-||-||-||-||x||-||-&lt;br /&gt;
|-&lt;br /&gt;
| IP22||125||0,032||16||-||-||-||2||-||-||-||x||x||x||-||-||1*100||-||-||-||-||-||2||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| IP24||125||0,032||16||-||-||-||4||-||-||-||x||x||x||-||-||1*100||-||-||-||-||-||4||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| IP6000||533||128||16||-||-||-||60||60||10||10||x||x||x||-||-||2*100||x||4||1||-||-||-||-||x||500||n.a.&lt;br /&gt;
|-&lt;br /&gt;
| IP3000||133||n.a.||n.a.||-||-||-||30||-||-||-||x||x||x||-||-||2*100||-||2||1||-||-||-||-||x||n.a.||n.a.&lt;br /&gt;
|-&lt;br /&gt;
| IP2000||533||128||16||-||-||-||20||0||0||0||x||x||x||-||-||2*100||-||1||1||-||-||-||-||||500||n.a.&lt;br /&gt;
|-&lt;br /&gt;
| IPVA||||||||||||||0||-||7||0||colspan=&amp;quot;16&amp;quot;| For a calculation of IPVA ressources, see [[Howto:A rough estimate of IPVA Performance]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The &#039;&#039;Recommended maximum number of defined objects&#039;&#039; referred to the number of entries in the LDAP database.  The &#039;&#039;Recommended maximum number of registrations&#039;&#039; refers to the maximum number of H.323/SIP peers which can be registered at the same time.  If each of these registrations also runs a myPBX client, the number must be divided by 3. The &#039;&#039;Recommended maximum number of myPBX clients&#039;&#039; refers to the number of registered clients when all of them use myPBX. --&amp;gt; &lt;br /&gt;
The &#039;&#039;Recommended maximum number of myPBX clients when using full encryption&#039;&#039; refers to a setup, where all communication (including signalling) is encrypted.&lt;br /&gt;
 &lt;br /&gt;
The &#039;&#039;PBX User (all-in-one)&#039;&#039; refers to a setup including all functionality such as UC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Note that these figures have been calculated based on V7 firmware.  Although they still hold true for current V10 firmware, be careful. Newer firmware has more code, so static RAM usage after boot increases and also has more features, so dynamic RAM usage per defined user and/or per registration increases.  If you approach those limits, you must carefully watch memory usage on your device thus.  &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;recommended&#039;&#039; figures are pretty conservative, so as to make sure that a configuration obeying the figures will work well under normal circumstances.   However, in certain usage situations, such as use of broadcast groups or waiting queues, missing CPU cycles could result in slow service.&lt;br /&gt;
&lt;br /&gt;
All figures are related to a single platform (that is, innovaphone box).  Larger installations can be designed using several boxes running related PBXs.  See below for details.&lt;br /&gt;
&lt;br /&gt;
From version 8 upwards, the maximum amount of flash memory allocatable for the directory (FLASHDIR0) is limited to a platform specific reasonable value by default.  It can be raised using the&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mod cmd FLASHDIR0 /seg n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
command, where &#039;&#039;n&#039;&#039; is the number of allowed 64kB segments.&lt;br /&gt;
&lt;br /&gt;
Figures for the IPVA platform obviously depend on the machine used.  See [[Howto:A rough estimate of IPVA Performance]] for an estimate.&lt;br /&gt;
&lt;br /&gt;
Please note that these figures &#039;&#039;do not apply to applications on the Linux Application Platform&#039;&#039;.  More specifically, the figures in the &#039;&#039;Recommended maximum number of myPBX clients&#039;&#039; column do not suggest that a LAP running on such a device can serve the same number of users with all applications such as fax, calendar replication, call lists, reporting.  It is extremely difficult to estimate the number of users that can be served on a LAP of a given platform, as it again heavily depends on the applications and usage patterns.  However, as a rule of thumb, a LAP running on an xx10 platform should be able to support 150 users with average usage patterns.  When more users have to be supported, we strongly recommend to consider a LAP running on VMware.  For comparison to a VMware platform, keep in mind that the xx10&#039;s ARM processor is a RISC platform, whereas VMware runs on a CISC platform.  You should plan for more RAM on a VMWare platform thus.  This might lead to the following calculation: if you look at supporting 300 users on a LAP, use VMWare and dedicate at least 1.6GHz CPU and 1 GB RAM (please note that the &#039;&#039;RAM&#039;&#039; column in the table above shows the total RAM available in the system which is shared by the PBX and the Linux-OS).  The total RAM available for the LAP is shown on the LAP&#039;s &#039;&#039;Diagnostics/Status&#039;&#039; page).&lt;br /&gt;
&lt;br /&gt;
==== Load Calculator ====&lt;br /&gt;
We have a nice [http://www.innovaphone.com/de/partnerarea/partner-tools/load-calculator.html online tool] available to partners which allows you to calculate the expected load given a specific usage scenario.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory ===&lt;br /&gt;
Flash memory is mainly used to store object definitions in the LDAP database.  So the number of defined objects is calculated as a function of the flash memory used to define the objects.  &lt;br /&gt;
&lt;br /&gt;
The actual space used by an object definition heavily depends on the number and size of attributes set for the object since the objects are stored “packed” in flash memory.  For example, users with long names will consume more space than those with short names.  Also, users with a defined call forwarding will consume more space.  Because of this, in a given scenario, the number of objects that can be stored in the platforms available flash memory can vary considerably.  However, since in normal operation, object definitions are changed frequently, you need to calculate a rather large amount of memory per entry.  We recommend to plan for 512 bytes per object entry. This should be sufficient even for unusual complicated configurations.   In a given installation, it is well possible that a platform supports significantly more defined objects than indicated in the table above.&lt;br /&gt;
&lt;br /&gt;
Please note that the number of defined objects is not identical to the number of users supported.  This is because there are usually a lot of non-user objects defined.  As an example, speed dial entries will count into the total number of defined objects.  The actual ratio of supported users to defined objects obviously is depending on the installation at hand.  Still, as a rule of thumb, you should calculate at least 33% more defined objects than supported users.  That is, if you intend to support 1000 users, you may want to calculate for 1400 defined objects.&lt;br /&gt;
&lt;br /&gt;
Also, you need to be aware that the LDAP database needs to keep track of deleted items for replication purposes.  Such items are kept for a while in flash memory (although they are not seen in the user interface any more).  The amount of memory required to store such items obviously depends on the deletion rate of objects.  Especially when using automated tools to delete and create a large number of objects, you may create a lot of “deleted” items which consume flash space. For this reason, when you create a new object database in a PBX which already had a significant number of objects before, make sure first to do a “clear PBX config”.  This will physically clear the LDAP database whereas any other method (including ad-hoc replication from a master PBX database) will create a deleted object for each previously existing object.&lt;br /&gt;
&lt;br /&gt;
You can query the current flash memory usage with&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mod cmd FLASHMAN0 info&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For more information about flash directory sizing, see [[Concept Flash Directory]].&lt;br /&gt;
&lt;br /&gt;
=== Main Memory ===&lt;br /&gt;
Main memory is obviously required for any kind of operation in the PBX.  However, there are some prominent situations which require sufficiant memory.  These include amongst others&lt;br /&gt;
&lt;br /&gt;
*System boot&lt;br /&gt;
&lt;br /&gt;
Depending on the firmware size (the firmware is store compressed in flash and thus will be uncompressed into main memory at boot time) and the basic configuration, there is an initial main memory requirement of slightly less than 3MB currently.   &lt;br /&gt;
&lt;br /&gt;
During boot, all objects are retrieved from the LDAP database and shadowed in main memory.  This will take significantly more space than it consumes in flash memory.   The exact amount again depends on the specific object configuration.  As a rule of thumb, you can expect 2.7kB per object (based on the same configuration complexity assumed above for flash memory usage).  However, during boot time, there is an additional need for main memory of slightly less than twice the flash memory used.  We recommend to calculate for approximately 3.5kB per user main memory thus.&lt;br /&gt;
&lt;br /&gt;
*Endpoint Registration&lt;br /&gt;
&lt;br /&gt;
When an endpoint is registered with the Gatekeeper (PBX), it will consume an additional 1.6kB main memory.&lt;br /&gt;
&lt;br /&gt;
*CDR delivery&lt;br /&gt;
&lt;br /&gt;
CDRs to be delivered via HTTP are buffered if delivery cannot take place immediately.  The buffer space reserved is 300kB.  Since there are 2 CDR interfaces and the LOG interface is treated identically, 900kB must be calculated for buffering.&lt;br /&gt;
&lt;br /&gt;
*Call signaling&lt;br /&gt;
&lt;br /&gt;
Concurrent call signaling will consume further main memory.  The exact amount of memory obviously vastly depends on the exact nature of the calls (e.g. internal calls, calls to local interfaces, broadcast calls, etc.).  We have measured a test setup where 100 registered clients constantly setup and tear down calls so that there is an average of 15 calls at a time.  All calls were monitored by a SOAP application (such as TAPI).&lt;br /&gt;
&lt;br /&gt;
This creates a memory load of an additional 700kB.&lt;br /&gt;
&lt;br /&gt;
Please note that this is a heavy duty load scenario since long lasting calls will consume much less memory load.&lt;br /&gt;
&lt;br /&gt;
You can query the current memory usage with&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
The overall performance of a PBX can be measured and given as &#039;&#039;busy hour call attempts (BHCA)&#039;&#039; figure.  We have measured 2 scenarios:&lt;br /&gt;
&lt;br /&gt;
*Pure gatekeeper mode&lt;br /&gt;
&lt;br /&gt;
This is the same scenario as in the “Main memory / Call Signaling” section above.  100 clients are registered with the PBX and constantly setup and tear down calls so that there is an average of 15 calls at a time.  Both ends of all calls terminate in an IP endpoint, so external call signaling issues such as those induced by an ISDN interface are not considered.  No SOAP monitoring.&lt;br /&gt;
&lt;br /&gt;
The IP800 performed with 4.57 calls per second with a CPU load of 30%.  This amounts to 15 calls per second with a 100% CPU load and thus approximately 50.000 BHCA.  &lt;br /&gt;
&lt;br /&gt;
*Combined gatekeeper and gateway mode&lt;br /&gt;
&lt;br /&gt;
Same scenario as above except that additionally all ISDN interfaces are busy with calls from IP to ISDN with a 60ms packet size.  This base load creates 6% CPU load.&lt;br /&gt;
&lt;br /&gt;
The IP800 performed with 45.000 BHCA in this scenario.&lt;br /&gt;
&lt;br /&gt;
The IP3000, having approximately the same CPU power, has more ISDN channels to drive when in gateway mode (30 instead of 8).  The respective figures for the IP3000 do differ thus.  The base load (all 30 channels active with 60ms packets) is 21%.  The IP3000 performs with little better than 40.000 BHCA in this scenario.&lt;br /&gt;
&lt;br /&gt;
For both platforms, the base load increases significantly if the packet size is reduced.  For example, the IP3000’s base load increases to 42% when 30 20ms channels are active.  It is thus recommended to avoid small packet sizes.&lt;br /&gt;
&lt;br /&gt;
An IP800 with 6500 defined objects will take about 20 seconds to boot.&lt;br /&gt;
&lt;br /&gt;
You can query the current CPU load with&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mod&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To reset the CPU tick counter, use&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mod clr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===LDAP performance===&lt;br /&gt;
LDAP is used both for replication of PBX and DECT gateway configurations and for name and number resolution in the IP200.&lt;br /&gt;
&lt;br /&gt;
Using current firmware, there are no performance issues with the LDAP replication.&lt;br /&gt;
&lt;br /&gt;
LDAP name and number resolution performance largely depends on the number of entries defined in the PBX/LDAP database.  Based on a setup with 1000 user and 500 speed dial entries configured, the IP800 performs with a maximum of 16 LDAP connect/query/result/disconnect cycles per second.&lt;br /&gt;
&lt;br /&gt;
Assumed that there is one such cycle per call, this will effectively cut down the BHCA to 50%.  &lt;br /&gt;
&lt;br /&gt;
It is recommended to use an external LDAP server such as MetaDirectory for large (&amp;gt; 1000 users) PBXs thus.&lt;br /&gt;
&lt;br /&gt;
The number of concurrent LDAP sessions is limited to 30 in a standard configuration.  When a new session is requested, older idle sessions will be terminated.  However, replication sessions are never terminated so this may result in the ability to create a new session requested.  The IP200’s LDAP client will terminate its query session after 3 seconds, however with many phones, the PBX may run out of LDAP sessions.  You may want to increase the number of sessions using the&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;config change LDAPSRV0 /max_session &#039;&#039;n&#039;&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
config file option (with 300 being the maximum for &#039;&#039;n&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
===Small PBX===&lt;br /&gt;
For smaller PBXs (1000 users and less), a single IP800 or IP3000 can serve as a platform.  If redundancy is desired, one platform can be used as master PBX, the other can be used as gateway and standby PBX (so as to distribute gateway and gatekeeper load, especially for the IP3000).&lt;br /&gt;
&lt;br /&gt;
===Medium PBX===&lt;br /&gt;
If the PBX has to support more users, then we recommend to use one IP800/IP3000 per 1000 PBX users.  If a uniform numbering scheme is desired and all users shall be maintained in a single PBX, we recommend to add an IP800 which will then hold the complete PBX/LDAP database.  This will be the “master PBX” and all other platforms will be defined as “slave location” and register with the master PBX.  Their configuration will be replicated from the master PBX, restricted to their specific location data.  This is because both hosting the complete configuration and serving a large number of registrations at the same time will decrease performance.  The actual endpoint registrations will be only on the slave locations so that each platform needs to handle no more than 1000 registrations at a time.&lt;br /&gt;
&lt;br /&gt;
Each endpoint will register with its defined location PBX.  You can freely assign endpoints to locations at will, provided the number of endpoints per location does not exceed 1000.  &lt;br /&gt;
&lt;br /&gt;
The master PBX should be used as standby PBX for all locations, so that if a single location PBX fails, the master PBX will take over the 1000 registrations. &lt;br /&gt;
&lt;br /&gt;
While the endpoints register with their location PBX, the IP200s LDAP connection should be configured such that the central master location PBX is used as LDAP server.  This is to make sure all IP200 will see the complete phone book.  As discussed above, you may want to consider an external LDAP server in which case this should be configured as LDAP connection.&lt;br /&gt;
&lt;br /&gt;
Up to 6000 users can be supported this way.&lt;br /&gt;
&lt;br /&gt;
===Large PBX===&lt;br /&gt;
If a uniform numbering plan and centralized administration is not an issue, large PBXs can be design virtually without limits.&lt;br /&gt;
&lt;br /&gt;
A tree of PBX locations would be configured, each of them storing its own endpoints and/or sub-locations.  Each single location can support up to 1000 endpoints.&lt;br /&gt;
&lt;br /&gt;
Since there is no single instance that knows all of the endpoints, the locations must be defined using the “prefix” mode so that calls can be routed according to the called number by traversing the location tree towards the leafs.&lt;br /&gt;
&lt;br /&gt;
All endpoints must register with the correct PBX as defined by the extension prefix-chain down from the root/master location PBX.  &lt;br /&gt;
&lt;br /&gt;
===Replication===&lt;br /&gt;
As noted above, when replicating a larger location PBX  from a master PBX, the location PBX’s replication settings must restrict the data to be replicated to their own location.  &lt;br /&gt;
&lt;br /&gt;
Especially when a location I using a smaller platform such as an IP202 or IP400, this configuration is critical in order not to overflow the locations LDAP capacity.&lt;br /&gt;
&lt;br /&gt;
The same applies to the DECT gateways IP600 and IP1500.  They will normally replicate all users, not just the DECT users.  However, usually not all the location users are DECT users too and the number of location users may not fit into the number LDAP database of the DECT gateway.   You can restrict the objects replicated to the real DECT users using a special configuration of the DECT gateways LDAP replication client.   Assumed the DECT users are configured such that the “DECT-GW” is set to “dect” in the PBXs user entries.  You would then configure the “Location” in the “LDAP Replication” settings of the DECT gateway to &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(pbx=&amp;lt;gw *name=”dect”*&amp;gt;)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This configuration is taking advantage of the fact that a location search attribute starting with a ‘(‘ is considered a complete LDAP search expression.   The “DECT Gateway” section of a PBXs user configuration is stored in an LDAP attribute such as &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pbx=&amp;lt;gw name=&amp;quot;dect&amp;quot; dsp=&amp;quot;user&amp;quot; ipei=&amp;quot;12345&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
PBX Groups are PBX-local objects.  Users registered on different PBXs/locations belonging to groups with the same name are this effectively members of different groups.  The other way round, in a single group there cannot be members registered with different PBXs/locations. If you need to add a PBX user to a remote PBX, you will need to create a co-registration on that PBX and add this registration user to the group.&lt;br /&gt;
&lt;br /&gt;
Since V11r2 see also [[Reference11r2:Concept_Group_Pickup_across_PBXs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TAPI service provider currently maintains a single connection to a single PBX.  It will thus not be able to monitor users on more than one PBX/location. ([[User:Ckl|ckl]] 12:22, 11 January 2011 (CET) this changed with TAPI V7)&lt;br /&gt;
&lt;br /&gt;
{{FIXME|reason=&amp;quot;This article urgently needs a V6,7,8,9,10 rewrite&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
== Relevance for V6 Firmware and later ==&lt;br /&gt;
Most of the conclusions presented in this article still hold true for V6 and V7 firmware.  You should just calculate slightly less available memory for the devices as the firmware grows and thus leaves less memory for operation.  Also, when looking at the IP2000/6000 you need to know that it has 4 times more memory than the IP800 and is 4 times faster than the IP800.  &lt;br /&gt;
&lt;br /&gt;
==Relevance for V7 and later==&lt;br /&gt;
&lt;br /&gt;
A IP2000/IP6000 can handle up to 10.000 Objects. &lt;br /&gt;
&lt;br /&gt;
Group limitation is up to 2048 Objects in a group.&lt;br /&gt;
&lt;br /&gt;
IP30x is slightly faster than an IP800, but has considerably less memory.  Watch out, the relevant memory (DRAM) space is after system startup, not what is physically available.  Especially for the IP30x, a lot of memory is consumed for the DMA interface to the DSP processor.  Here is a sample out &amp;lt;code&amp;gt;!mem&amp;lt;/code&amp;gt; output directly after a IP302 system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
physcial memory:	  16777216&lt;br /&gt;
allocated:      	    561916&lt;br /&gt;
total malloc space:	   4590600&lt;br /&gt;
free for malloc:	   3019008&lt;br /&gt;
Total memory usage:	   1504584&lt;br /&gt;
Memory Load:    	        32%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Allocatable memory is only 2948kB (3019008)!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;config change LDAPSRV0 /max_session n&amp;lt;/code&amp;gt; is not supported any more (nor is it necessary).&lt;br /&gt;
&lt;br /&gt;
==Relevance for V8 and later==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mod cmd FLASHDIR0 /max nitems&amp;lt;/code&amp;gt; is not supported anymore (nor is it needed).&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* [[Reference:Device Health Check]]&lt;br /&gt;
* [[Howto:A_rough_estimate_of_IPVA_Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference:IP1202/IP1203_DECT_System&amp;diff=42806</id>
		<title>Reference:IP1202/IP1203 DECT System</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference:IP1202/IP1203_DECT_System&amp;diff=42806"/>
		<updated>2016-06-28T10:28:59Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Bluetooth Headset Support for IP63 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes the new IP1202 DECT system, differences to the IP1200, the migration policy and provides further helpful information.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
*IP1202&lt;br /&gt;
*IP1202e&lt;br /&gt;
*IP61&lt;br /&gt;
*IP63&lt;br /&gt;
&lt;br /&gt;
It touches:&lt;br /&gt;
&lt;br /&gt;
*IP1200&lt;br /&gt;
*IP52 &lt;br /&gt;
*IP54&lt;br /&gt;
*IP55&lt;br /&gt;
*IP56&lt;br /&gt;
*IP64&lt;br /&gt;
&lt;br /&gt;
==Product Availability==&lt;br /&gt;
&lt;br /&gt;
===IP-DECT base stations===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;IP1202&#039;&#039;&#039; (50-01202-001) is ready for order since April 2012.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;IP1202e&#039;&#039;&#039; (50-01202-003) with two external antenna connectors and two included dipole omni directional antennas will be ready for order in Q4/2012.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;IP1200&#039;&#039;&#039; can be ordered until supplies run out.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;defective IP1200&#039;&#039;&#039; devices can be repaired via RMA process until 05/2014.&lt;br /&gt;
&lt;br /&gt;
===IP-DECT Repeater and Antennas===&lt;br /&gt;
&lt;br /&gt;
The IP-DECT Repeater &#039;&#039;&#039;for IP1200&#039;&#039;&#039; and External Antennas can be ordered until 05/2014.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IP1202e&#039;&#039;&#039; includes two dipole omni directional antennas. Directional antennas have to be ordered separately depending on the use case. Following models will be available for order soon:&lt;br /&gt;
* DualDirectionalAntenna       (50-01202-004)&lt;br /&gt;
* DirectionalSingleAntenna     (50-01202-005)&lt;br /&gt;
* OmniDirectionalSingleAntenna (50-01202-006)&lt;br /&gt;
&lt;br /&gt;
===DECT Handsets and Accessories===&lt;br /&gt;
&lt;br /&gt;
The DECT handsets &#039;&#039;&#039;IP61&#039;&#039;&#039; (50-00061-001) and &#039;&#039;&#039;IP63&#039;&#039;&#039; (50-00063-001) are ready for order since April 2012.&lt;br /&gt;
&lt;br /&gt;
The DECT handsets &#039;&#039;&#039;IP52, IP54, IP64, IP55, IP56&#039;&#039;&#039; can be ordered until 05/2014 ([http://www.innovaphone.com/en/press/newsletter/news-2014-05.html not available anymore]).&lt;br /&gt;
&lt;br /&gt;
For the new DECT handsets IP61 and IP63 following chargers are available:&lt;br /&gt;
* simple charger (50-00060-002)&lt;br /&gt;
* programming charger (50-00060-003)(DC4-AAAB/3B) for administration purposes (via WinPDM, no Firmware Update for the charger itself is required)&lt;br /&gt;
Please be aware of the fact that chargers have to be ordered separately and are not part of the handset!&lt;br /&gt;
&lt;br /&gt;
==Compatibility Statements==&lt;br /&gt;
&lt;br /&gt;
===No Base Station and No Handset Compatibility===&lt;br /&gt;
The IP1202-based IP-DECT solution is &#039;&#039;&#039;not compatible&#039;&#039;&#039; to IP1200 based IP-DECT solution.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;old&#039;&#039; DECT handset IP50, IP52, IP54, IP55, IP56 will &#039;&#039;&#039;not operate&#039;&#039;&#039; on &#039;&#039;new&#039;&#039;  IP1202-based IP-DECT system, since not only GAP compliance is required, but also CAP compliance (DECT external handover CAP-N.1).&lt;br /&gt;
&lt;br /&gt;
The DECT handset &#039;&#039;&#039;must support GAP and CAP&#039;&#039;&#039; for operation on IP1202 based DECT system.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;new&#039;&#039; DECT handsets IP61 and IP63 will &#039;&#039;&#039;not operate&#039;&#039;&#039; on &#039;&#039;old&#039;&#039; IP1200 based IP-DECT system.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;new&#039;&#039; DECT base stations IP1202 and IP1202e &#039;&#039;&#039;can not be used&#039;&#039;&#039; to extend an existing &#039;&#039;old&#039;&#039; IP1200 based IP-DECT system.&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; This means &#039;&#039;&#039;NO HANDOVER&#039;&#039;&#039; between different systems (move with active call on a specific handset from an IP1200-system to an IP1202-based-system or vice versa)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; This means &#039;&#039;&#039;NO ROAMING&#039;&#039;&#039; between different systems (usage of a specific handset in a non-compatible IP-DECT system - see above)&lt;br /&gt;
&lt;br /&gt;
=== Mixed Ascom/innovaphone Environments ===&lt;br /&gt;
It is generally not supported to mix Ascom and innovaphone DECT products in a single installation, e.g.&lt;br /&gt;
&lt;br /&gt;
* Combination of IP1202/IP1202e and Ascom IPBS2 base stations is neither allowed nor supported&lt;br /&gt;
* Usage of IP61/IP63 with Ascom IPBS2 based networks is not supported&lt;br /&gt;
* Usage of non-innovaphone handsets in IP1202 based networks is not supported&lt;br /&gt;
* Usage of IP61/IP63 with Ascom Alarm/Messaging Server (ex:UNITE) is not supported&lt;br /&gt;
&lt;br /&gt;
The one and only exception to this is use of the Ascom d81 which may be operated in an IP1202 environment.&lt;br /&gt;
&lt;br /&gt;
===No Multicell License Required===&lt;br /&gt;
&lt;br /&gt;
The Multicell License is obsolete for IP1202-based IP-DECT systems.&lt;br /&gt;
&lt;br /&gt;
For IP1202-based IP-DECT systems a SARI (Secondary Access Right Identity for DECT) certificate is required. The SARI activates an IP-DECT Master based on IP1202. One single SARI certificate is required for a single IP-DECT system, regardless how many base stations are used. Also for IP-DECT systems with one single base station a SARI certificate is required. The SARI certificate is not an innovaphone license and only required to make sure the DECT Radio Fixed Part Identity used in the DECT system is worldwide unique one.&lt;br /&gt;
&lt;br /&gt;
A Multicell License can not be converted to a SARI certificate (and there is also no need to do so).&lt;br /&gt;
&lt;br /&gt;
===Repeater and External Antennas===&lt;br /&gt;
&lt;br /&gt;
There are &#039;&#039;&#039;no DECT repeaters available with IP1202&#039;&#039;&#039; based IP-DECT solution. Only IP1202-based base stations must be used.&lt;br /&gt;
&lt;br /&gt;
The DECT repeaters for IP1200 are &#039;&#039;&#039;not compatible&#039;&#039;&#039; to IP1202/IP1202e.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;IP1202&#039;&#039;&#039; has no possibility to connect external antennas. &lt;br /&gt;
&lt;br /&gt;
In case external antennas are required, the &#039;&#039;&#039;IP1202e&#039;&#039;&#039; has to be used. The IP1202e has &#039;&#039;&#039;no internal&#039;&#039;&#039; antennas.&lt;br /&gt;
&lt;br /&gt;
===Certifications and Test Reports===&lt;br /&gt;
The innovaphone PBX was tested and certified by Ascom Wireless Solutions with Ascom IPBS based IP-DECT System, on which IP1202 is based (but is not the same product). A [[Media:Innovaphone PBX and Ascom IP-DECT certified by Ascom.pdf|Certificate]] and a [[Media:Innovaphone and ascom DECT Report.pdf|Test Report]] of this certification are available for download.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Headset Support for IP63===&lt;br /&gt;
&lt;br /&gt;
The IP63 DECT handset supports handsfree and headset profiles for Bluetooth.&lt;br /&gt;
&lt;br /&gt;
Following headsets are tested by the manufacturer:&lt;br /&gt;
&lt;br /&gt;
*3M Peltor WS XP&lt;br /&gt;
*Jabra EVOLVE 65&lt;br /&gt;
*Jabra MOTION&lt;br /&gt;
*Jabra STEALTH&lt;br /&gt;
*Jabra SUPREME&lt;br /&gt;
*Plantronics BlackBeat GO 2&lt;br /&gt;
*Plantronics Blackwire 710&lt;br /&gt;
*Plantronics M70&lt;br /&gt;
*Plantronics M90&lt;br /&gt;
*Plantronics ML20&lt;br /&gt;
*Plantronics Voyager Edge&lt;br /&gt;
*Plantronics Voyager Legend (audio not working correct on outgoing calls with various CTI clients)&lt;br /&gt;
&lt;br /&gt;
==Training==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DECT Training Kit===&lt;br /&gt;
&lt;br /&gt;
To be able to attempt to the optional DECT Training Topic in the Advanced Training a DECT Training Kit must be ordered.&lt;br /&gt;
&lt;br /&gt;
The DECT Training Kit contains:&lt;br /&gt;
*IP1202 x 2&lt;br /&gt;
*IP61&lt;br /&gt;
*IP63&lt;br /&gt;
*Charger for IP61/IP62/IP63&lt;br /&gt;
*USB-Programming Charger for IP61/IP63&lt;br /&gt;
&lt;br /&gt;
This kit is referred to as &#039;&#039;Trainingspaket 2 (DECT)&#039;&#039; or &#039;&#039;Training Pack 2 (DECT)&#039;&#039; in the price list.  Pleas note that this kit needs to present &#039;&#039;in addition&#039;&#039; to the regular training kit.&lt;br /&gt;
&lt;br /&gt;
===Parallel usage of IP1200 and IP1202 IP-DECT systems===&lt;br /&gt;
&lt;br /&gt;
The operation is only possible as two independent systems. No handover or roaming between the systems is possible. An IP1202-based system can and should synchronize the TDM clock with IP1200 based system to avoid interference.&lt;br /&gt;
&lt;br /&gt;
==Migration Policy For New Projects==&lt;br /&gt;
&lt;br /&gt;
The information in this chapter is only a suggestion which devices to use while plan new DECT projects. No mixing of old and new handsets or base stations is possible in the same project.&lt;br /&gt;
&lt;br /&gt;
===Handsets===&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;
|+ DECT Handset Features Matrix&lt;br /&gt;
! DECT Handset !! [http://en.wikipedia.org/wiki/IP_Code IP Code]/[http://de.wikipedia.org/wiki/Schutzart Schutzart] !! Headset Connector !! Bluetooth !! Color Display !! Suggested Replacement&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone IP52 || - || - ||  - || - || innovaphone IP61, IP63&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone IP54 || IP54 Dust protected, Splashing water protected || YES || - || - || innovaphone IP63&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone IP64 || IP64 Dust tight, Splashing water protected || YES || - || - || Ascom d81 Ex&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone IP55 || - || YES || - || YES || innovaphone IP61, IP63&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone IP56 || - || - || YES || YES || innovaphone IP63&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone IP61 || IP40 Object size &amp;gt;1 mm protected || YES || - || - ||&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone IP63 || IP44 Object size &amp;gt;1 mm protected, Splashing water protected || YES || YES || YES ||&lt;br /&gt;
|-&lt;br /&gt;
|Ascom d81 (1) || IP65 Dust tight, Water jets protected || YES || YES || YES ||&lt;br /&gt;
|-&lt;br /&gt;
|Ascom d81 Ex (1) || IP65 Dust tight, Water jets protected || YES || YES || YES ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Remark (1) - see below&lt;br /&gt;
&lt;br /&gt;
====d81====&lt;br /&gt;
When operated within an IP1202 or IP1202e based environment, telephony features of d81 and d81ex are equal to the ones of the IP63.&lt;br /&gt;
&lt;br /&gt;
Ascom-special telephony features as mentioned in the Ascom-d81-family-datasheet are not applicable in this use case.&lt;br /&gt;
&lt;br /&gt;
Features such as man-down-alarm can be realized by upgrading the phone with a special Ascom license, documented [[Reference:d81 Protector|here]].&lt;br /&gt;
&lt;br /&gt;
===Base Stations and Repeaters===&lt;br /&gt;
&lt;br /&gt;
The IP1200 Base Stations and all kinds of DECT Repeaters for IP1200 are replaced by IP1202, cause no repeaters are available for the IP1202 based IP-DECT solution.&lt;br /&gt;
&lt;br /&gt;
==DECT System Feature Comparison==&lt;br /&gt;
This chapter describes the differences in the feature sets between old and new DECT systems.&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;
|+ DECT Handset Features Matrix&lt;br /&gt;
! Feature !! IP1200 based DECT system !! IP1202 based DECT system !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Registration on 3rd Party IP PBX || YES || NO ||  IP1202 can only register on innovaphone PBX&lt;br /&gt;
|-&lt;br /&gt;
| Messaging || [[Howto:Legacy_Method_to_do_DECT_messaging_with_IP1500%2C_IP1200_and_IP600|YES]] || NO ||&lt;br /&gt;
|-&lt;br /&gt;
| Repeater || YES  || NO || &lt;br /&gt;
|-&lt;br /&gt;
| External Antennas || YES (on repeater) || YES || with IP1202e&lt;br /&gt;
|-&lt;br /&gt;
| Non-EU DECT Frequencies || YES || NO || Required for North America, Brazil&lt;br /&gt;
|-&lt;br /&gt;
| Number of Speech Channels per Radio || 10 || 8 ||&lt;br /&gt;
|-&lt;br /&gt;
| Max. Number of Radios || 255 || 1000000 || with multiple Mobility Masters for IP1202&lt;br /&gt;
|-&lt;br /&gt;
| Max. Number of Subscribed Handsets || 1500 || 1000000 || with multiple Mobility Masters for IP1202&lt;br /&gt;
|-&lt;br /&gt;
| Sync Master Redundancy || NO || YES || &lt;br /&gt;
|-&lt;br /&gt;
| Distributed PBX Support with Roaming || NO || YES || In a Master Slave PBX scenario it is possible for DECT Handsets to roam between sites&lt;br /&gt;
|-&lt;br /&gt;
| Automatic DECT Sync Configuration ||NO || YES || Compared to IP1200 DECT sync, IP1202 is more reliable and stable&lt;br /&gt;
|-&lt;br /&gt;
| GAP Compatibility || YES || YES || Although both systems are GAP compliant, innovaphone does only support innovaphone handsets used either with IP1200 or IP1202&lt;br /&gt;
|-&lt;br /&gt;
| CAP Compatibility || NO || YES || IP61/IP63 handsets will always do &amp;quot;external handover&amp;quot; as per CAP (DECT external handover CAP-N.1) between IP1202.  GAP-only-compliant handsets will thus not work&lt;br /&gt;
|-&lt;br /&gt;
| DECT Encryption || NO || YES || DECT Voice Traffic is encrypted between IP1202 and IP61/IP63&lt;br /&gt;
|-&lt;br /&gt;
| Run innovaphone PBX || YES || NO || On new IP1202 you could not run as innovaphone Master or Slave PBX.&lt;br /&gt;
|-&lt;br /&gt;
| DECT Security || NO || YES, step B is in preparation || Step B is expected to be published during Q2 2012, see also [http://www.dect.org DECT Forum]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage in non-EU countries ==&lt;br /&gt;
The IP1202, IP1202e, IP61 and IP63 can technically be operated in most countries of the world, as the hardware supports all relevant DECT frequencies (software configurable).  However, the devices are approved in EU/EFTA states only!  Use in other countries will probably be illegal thus.&lt;br /&gt;
&lt;br /&gt;
== Test-SARI ==&lt;br /&gt;
&lt;br /&gt;
DECT Systems are using a worldwide unique system identification (SARI) to be separated from each other.&lt;br /&gt;
&lt;br /&gt;
For test and training purposes, innovaphone offers the following SARI:&lt;br /&gt;
&lt;br /&gt;
 31100422072149&lt;br /&gt;
&lt;br /&gt;
This SARI is intended for use in test/training systems only!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usage within productive systems is prohibited and not recommended.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If the SARI is changed, all handsets have to be subscribed again.&lt;br /&gt;
&lt;br /&gt;
DECT systems which are near to each other and are using the same test-SARI, may disturb each other.&lt;br /&gt;
&lt;br /&gt;
==DECT Service Codes==&lt;br /&gt;
&lt;br /&gt;
===IP61===&lt;br /&gt;
 *#34# - Displays the Device Info&lt;br /&gt;
 *#06# - Displays the IPEI/IPDI&lt;br /&gt;
&lt;br /&gt;
===IP63===&lt;br /&gt;
 *#34# - Displays the Device Info&lt;br /&gt;
 *#06# - Displays the IPEI/IPDI &lt;br /&gt;
 *#77# - Site Survey Tool&lt;br /&gt;
&lt;br /&gt;
==Admin Menu==&lt;br /&gt;
&lt;br /&gt;
The handset has a hidden menu for system administrators. The Admin menu contains:&lt;br /&gt;
*Software and hardware information, IPEI/IPDI, and User ID&lt;br /&gt;
*DECT link and system information&lt;br /&gt;
*Site survey tool&lt;br /&gt;
*Fault logging&lt;br /&gt;
*Enhanced system menu with ability to alter protection&lt;br /&gt;
*Factory reset option&lt;br /&gt;
&lt;br /&gt;
To activate the Admin Menu, enter the Call time screen via &amp;quot;Menu-&amp;gt;Call list-&amp;gt;Call time&amp;quot; and press &amp;lt;code&amp;gt;&amp;amp;gt; * &amp;amp;lt; &amp;amp;lt; * &amp;amp;lt;&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
=== Blind Transfer ===&lt;br /&gt;
Internal ring tone after external call is blind-transferred to C, which does not save external&lt;br /&gt;
number in call list (per IPBS design)&lt;br /&gt;
=== Firmware Compatibility ===&lt;br /&gt;
Newer IP1202 hardware (such with product code &#039;&#039;IPBS2-M3A &#039;&#039;, &#039;&#039;IPBS2-M4A &#039;&#039; or &#039;&#039;IPBS2-M5A&#039;&#039; on the back, introduced 2Q2015) need at least firmware V11r1 SR3 or V10 SR22. Older versions are not supported!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Remarks===&lt;br /&gt;
For a succesfull registration to the PBX, it&#039;s mandatory that an entry with the user&#039;s &#039;&#039;Name&#039;&#039; as &#039;&#039;Hardware Id&#039;&#039; value exists in the &#039;&#039;Devices&#039;&#039; section of the PBX user. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Image:DectUser1.png]] --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference11r2:PBX/Objects/Gateway&amp;diff=40211</id>
		<title>Reference11r2:PBX/Objects/Gateway</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference11r2:PBX/Objects/Gateway&amp;diff=40211"/>
		<updated>2016-01-27T14:46:48Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* 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;
&amp;lt;!--/* V12r1&lt;br /&gt;
;Outgoing Calls No Name: Route calls with matching domain part in the destination to this object.&lt;br /&gt;
&lt;br /&gt;
;Outgoing Calls No URL: Route calls with matching domain part in the destination to this object.&lt;br /&gt;
*/ --&amp;gt;&lt;br /&gt;
;No Inband Disconnect: 	If this checkmark is set, a call disconect 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>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference11r1:Gateway/Interfaces/Physical&amp;diff=39244</id>
		<title>Reference11r1:Gateway/Interfaces/Physical</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference11r1:Gateway/Interfaces/Physical&amp;diff=39244"/>
		<updated>2015-10-05T07:52:15Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* General Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page a physical interface (ISDN or FXS) can be configured for Gateway use. Number mapping may be configured to normalize the called and calling numbers for internal use. An interface may be registered to a gatekeeper. If this is configured a VOIP interface and routes are generated automatically.&lt;br /&gt;
&lt;br /&gt;
== General Configuration ==&lt;br /&gt;
&lt;br /&gt;
;Name: Name of the interface. This name is used for local administration only (e.g. it is display in the routing table)&lt;br /&gt;
&lt;br /&gt;
;Disable: Used to disable the interface without deleting the config&lt;br /&gt;
&lt;br /&gt;
;Tones: This configures the tone scheme for this interface&lt;br /&gt;
&lt;br /&gt;
;Send Date/Time: If this checkmark is set, the current local time will be transmitted within ISDN connect messages. Ther is ISDN equipment using this to set the local time&lt;br /&gt;
&lt;br /&gt;
;Set Date/Time: If this checkmark is set the Date/Time-information received in connect messages from this interface is used to set the system time.&amp;lt;br/&amp;gt; This works only if the Date/Time information is provided as local time &#039;&#039;&#039;and&#039;&#039;&#039; the timezone is set according to this local time.&amp;lt;br/&amp;gt; The accuracy of Date/Time information is +/- 1min, so the system time is changed only if it is more than 1.5min different from the received information.&amp;lt;br/&amp;gt; Please note that it is strongly recommended to [[Howto:Obtaining the current time for innovaphone devices using NTP|use an NTP server]] instead, as it has better accuracy. &lt;br /&gt;
&lt;br /&gt;
;Ack incoming call: If this checkmark is set, a SETUP-ACK or CALL-PROC message is sent back on incoming calls right away. This should not be necessary, but it can happen that a PBX object is sending a CONN as first message to incoming calls and even though this is perfectly according standard, some old style PBXs don&#039;t like it.&lt;br /&gt;
&lt;br /&gt;
== Interface Maps ==&lt;br /&gt;
&lt;br /&gt;
The number mapping on the interface can be either configured manually, or predefined mappings for ISDN Point to Point or ISDN Point to Multipoint interfaces can be used. If predefined mappings are used they can be edited the same way as manual mappings, but if they are changed they are not recognized as predefined mapping any more. Please read also [[Reference9:Gateway/Interfaces#ISDN interfaces (PPP, TEL1-4, BRI1-4, PRI1-4)]]&lt;br /&gt;
=== Point to Point ===&lt;br /&gt;
&lt;br /&gt;
With the use of a few parameters the Point to Point mapping maps between an external representation of the numbers using the type of number field and an internal representation using Unknown as type of number and prefixes.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Area Code&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to convert from a subscriber number to a national number&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Subscriber Number&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to convert from an extension to a subscriber number&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;National Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as National&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;International Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as International&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Point to Multipoint ===&lt;br /&gt;
&lt;br /&gt;
With the use of a few parameters the Point to Point mapping maps between an external representation of the numbers using the type of number field and an internal representation using Unknown as type of number and prefixes. Three external numbers (MSNs) are mapped to internal extensions.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;MSN1-3,Ext.&#039;&#039;&#039;&lt;br /&gt;
|The external subscriber numbers and the internal extensions they are mapped to.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;National Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as National&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;International Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as International&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Internal Registration ==&lt;br /&gt;
&lt;br /&gt;
=== H.323 ===&lt;br /&gt;
&lt;br /&gt;
Registration to a Gatekeeper/PBX&lt;br /&gt;
&lt;br /&gt;
;Gatekeeper Address (primary/secondary): The registration addresses of the PBX/Gatekeeper. If no adress is configured, Gatekeeper Discovery is used&lt;br /&gt;
&lt;br /&gt;
;Gatekeeper ID: ID of the Gatekeeper. On a innovaphone PBX, this is the System Name. It is recommended to configure this to avoid registration to the wrong PBX.&lt;br /&gt;
&lt;br /&gt;
;Name: H.323 Id used for the registration. If no name and no number is configured a name of the form &amp;lt;product-short-name&amp;gt;-&amp;lt;last 3 Bytes of Mac Address&amp;gt;-&amp;lt;Interface Id&amp;gt; (e.g. IP800-08-03-01-TEL2) is used instead.&lt;br /&gt;
&lt;br /&gt;
;Number: The number used for the registration. Typically only name or number is required.&lt;br /&gt;
&lt;br /&gt;
;Password: Password used for authentication if needed.&lt;br /&gt;
&lt;br /&gt;
=== SIP ===&lt;br /&gt;
&lt;br /&gt;
Registration to a SIP Server&lt;br /&gt;
&lt;br /&gt;
=== Media Properties ===&lt;br /&gt;
&lt;br /&gt;
The physical interface may be registered using H.323 or SIP. For the VOIP call the media properties can be configured.&lt;br /&gt;
&lt;br /&gt;
;General Coder Preference: The coder preference (Coder, Framesize, Silence Compression) to be used if a non-local media address is detected. If the preference is marked as exclusive no other coder is offered.&lt;br /&gt;
&lt;br /&gt;
;Local Network Coder: The coder preference if a local media address is detected.&lt;br /&gt;
&lt;br /&gt;
;Enable T.38: Switches on Fax detection and switchover to T.38&lt;br /&gt;
&lt;br /&gt;
;Audio FAX support: Switches on voice coder e.g. G.711 for the FAX interface. This feature requires two free DSP channels and is &#039;&#039;&#039;not available&#039;&#039;&#039; on IP2x, IP302, IP305, IP800 gateways. If you send an outbound fax there is no Audio Fax Support Fallack (T38 -&amp;gt; g711) if you have to activate g711/exclusive + Media Relay at the SIP Interface.&lt;br /&gt;
&lt;br /&gt;
;No DTMF Detection: Special mode to switch off DTMF detection during a call. If checked DTMF is transferred inband during a call. Use G711 coder and a link with no packet loss to transfer DTMF inband. This option can be used to transfer continuous DTMF tones for some special applications. Out of band DTMF tones have a fixed length of approx 150ms. &lt;br /&gt;
&lt;br /&gt;
;Enable PCM: Enable the media to be connected using the local timeslot switch if the call is between physical interfaces of the same gateway.&lt;br /&gt;
&lt;br /&gt;
;MOH Mode: Special mode to use a physical interface as Music on Hold Source. The media is one way only and multiple calls are connected to the same channel on the physical interface. In this case the configured coder is used exclusively, even if not marked as exclusive.&lt;br /&gt;
&lt;br /&gt;
;Record to (URL): HTTP URL where the recording file is to be stored. HTTP server must allow write access (PUT) at this location. One PCAP file is written for every call via this interface containing both RTP streams. Audio streams can be played using Wireshark. PCAP file can be converted into WAV file using pcap2wav tool. The filename of the recording file has the form &amp;lt;conferemce ID&amp;gt;-&amp;lt;mac&amp;gt;-&amp;lt;seq&amp;gt;.pcap&lt;br /&gt;
:;conference ID: A guid identifying the call accross different hops. It is forwarded within the signaling. The CDRs generated by the PBX contain this conference ID.&lt;br /&gt;
:;mac: The Mac address of the device recording the call. Together with &#039;&#039;&#039;seq&#039;&#039;&#039; it is used to make shure the filename is unique if seperate devices record the same call.&lt;br /&gt;
:;seq: A sequence number of the record starting with 0 after power up of the recording device. Together with &#039;&#039;&#039;mac&#039;&#039;&#039; it is used to make shure the filename is unique, esspecially to cover the case, that one device records the same call multiple times (e.g. incoming and outgoing)&lt;br /&gt;
&lt;br /&gt;
=== Feature Code Support ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Feature Code Support&#039;&#039;&#039; turns on Supplementary services for a single endpoint connected to the physical interface, which can be invoked using *# dial sequences. This is availabe on FXS interfaces only.&lt;br /&gt;
&lt;br /&gt;
;Dynamic Group: The name of the group which membership can be changed using *# sequences from the endpoint.&lt;br /&gt;
&lt;br /&gt;
;Direct Dial: Number to be dialed on off-hook. This only works if feature code support is enabled.&lt;br /&gt;
&lt;br /&gt;
;Locked White List: A white-list of numbers, separated by &#039;,&#039; which may be still dialed if the endpoint is locked using *# sequences.&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference11r1:Gateway/Interfaces/Physical&amp;diff=39079</id>
		<title>Reference11r1:Gateway/Interfaces/Physical</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference11r1:Gateway/Interfaces/Physical&amp;diff=39079"/>
		<updated>2015-09-11T10:02:25Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* General Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page a physical interface (ISDN or FXS) can be configured for Gateway use. Number mapping may be configured to normalize the called and calling numbers for internal use. An interface may be registered to a gatekeeper. If this is configured a VOIP interface and routes are generated automatically.&lt;br /&gt;
&lt;br /&gt;
== General Configuration ==&lt;br /&gt;
&lt;br /&gt;
;Name: Name of the interface. This name is used for local administration only (e.g. it is display in the routing table)&lt;br /&gt;
&lt;br /&gt;
;Disable: Used to disable the interface without deleting the config&lt;br /&gt;
&lt;br /&gt;
;Tones: This configures the tone scheme for this interface&lt;br /&gt;
&lt;br /&gt;
;Send Date/Time: If this checkmark is set, the current local time will be transmitted within ISDN connect messages. Ther is ISDN equipment using this to set the local time&lt;br /&gt;
&lt;br /&gt;
;Set Date/Time: If this checkmark is set any time information received in a connect message from this interface is used to set the local time. The accuracy of this time is +/- 1min, so the time is changed only if the local time is more the 1.5min different from the received time. Please note that it is recommended to [[Howto:Obtaining the current time for innovaphone devices using NTP|use an NTP server]] instead, as it has better accuracy. &lt;br /&gt;
&lt;br /&gt;
;Ack incoming call: If this checkmark is set, a SETUP-ACK or CALL-PROC message is sent back on incoming calls right away. This should not be necessary, but it can happen that a PBX object is sending a CONN as first message to incoming calls and even though this is perfectly according standard, some old style PBXs don&#039;t like it.&lt;br /&gt;
&lt;br /&gt;
== Interface Maps ==&lt;br /&gt;
&lt;br /&gt;
The number mapping on the interface can be either configured manually, or predefined mappings for ISDN Point to Point or ISDN Point to Multipoint interfaces can be used. If predefined mappings are used they can be edited the same way as manual mappings, but if they are changed they are not recognized as predefined mapping any more. Please read also [[Reference9:Gateway/Interfaces#ISDN interfaces (PPP, TEL1-4, BRI1-4, PRI1-4)]]&lt;br /&gt;
=== Point to Point ===&lt;br /&gt;
&lt;br /&gt;
With the use of a few parameters the Point to Point mapping maps between an external representation of the numbers using the type of number field and an internal representation using Unknown as type of number and prefixes.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Area Code&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to convert from a subscriber number to a national number&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Subscriber Number&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to convert from an extension to a subscriber number&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;National Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as National&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;International Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as International&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Point to Multipoint ===&lt;br /&gt;
&lt;br /&gt;
With the use of a few parameters the Point to Point mapping maps between an external representation of the numbers using the type of number field and an internal representation using Unknown as type of number and prefixes. Three external numbers (MSNs) are mapped to internal extensions.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;MSN1-3,Ext.&#039;&#039;&#039;&lt;br /&gt;
|The external subscriber numbers and the internal extensions they are mapped to.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;National Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as National&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;International Prefix&#039;&#039;&#039;&lt;br /&gt;
|The prefix used to mark a number as International&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Internal Registration ==&lt;br /&gt;
&lt;br /&gt;
=== H.323 ===&lt;br /&gt;
&lt;br /&gt;
Registration to a Gatekeeper/PBX&lt;br /&gt;
&lt;br /&gt;
;Gatekeeper Address (primary/secondary): The registration addresses of the PBX/Gatekeeper. If no adress is configured, Gatekeeper Discovery is used&lt;br /&gt;
&lt;br /&gt;
;Gatekeeper ID: ID of the Gatekeeper. On a innovaphone PBX, this is the System Name. It is recommended to configure this to avoid registration to the wrong PBX.&lt;br /&gt;
&lt;br /&gt;
;Name: H.323 Id used for the registration. If no name and no number is configured a name of the form &amp;lt;product-short-name&amp;gt;-&amp;lt;last 3 Bytes of Mac Address&amp;gt;-&amp;lt;Interface Id&amp;gt; (e.g. IP800-08-03-01-TEL2) is used instead.&lt;br /&gt;
&lt;br /&gt;
;Number: The number used for the registration. Typically only name or number is required.&lt;br /&gt;
&lt;br /&gt;
;Password: Password used for authentication if needed.&lt;br /&gt;
&lt;br /&gt;
=== SIP ===&lt;br /&gt;
&lt;br /&gt;
Registration to a SIP Server&lt;br /&gt;
&lt;br /&gt;
=== Media Properties ===&lt;br /&gt;
&lt;br /&gt;
The physical interface may be registered using H.323 or SIP. For the VOIP call the media properties can be configured.&lt;br /&gt;
&lt;br /&gt;
;General Coder Preference: The coder preference (Coder, Framesize, Silence Compression) to be used if a non-local media address is detected. If the preference is marked as exclusive no other coder is offered.&lt;br /&gt;
&lt;br /&gt;
;Local Network Coder: The coder preference if a local media address is detected.&lt;br /&gt;
&lt;br /&gt;
;Enable T.38: Switches on Fax detection and switchover to T.38&lt;br /&gt;
&lt;br /&gt;
;Audio FAX support: Switches on voice coder e.g. G.711 for the FAX interface. This feature requires two free DSP channels and is &#039;&#039;&#039;not available&#039;&#039;&#039; on IP2x, IP302, IP305, IP800 gateways.&lt;br /&gt;
&lt;br /&gt;
;No DTMF Detection: Special mode to switch off DTMF detection during a call. If checked DTMF is transferred inband during a call. Use G711 coder and a link with no packet loss to transfer DTMF inband. This option can be used to transfer continuous DTMF tones for some special applications. Out of band DTMF tones have a fixed length of approx 150ms. &lt;br /&gt;
&lt;br /&gt;
;Enable PCM: Enable the media to be connected using the local timeslot switch if the call is between physical interfaces of the same gateway.&lt;br /&gt;
&lt;br /&gt;
;MOH Mode: Special mode to use a physical interface as Music on Hold Source. The media is one way only and multiple calls are connected to the same channel on the physical interface. In this case the configured coder is used exclusively, even if not marked as exclusive.&lt;br /&gt;
&lt;br /&gt;
;Record to (URL): HTTP URL where the recording file is to be stored. HTTP server must allow write access (PUT) at this location. One PCAP file is written for every call via this interface containing both RTP streams. Audio streams can be played using Wireshark. PCAP file can be converted into WAV file using pcap2wav tool. The filename of the recording file has the form &amp;lt;conferemce ID&amp;gt;-&amp;lt;mac&amp;gt;-&amp;lt;seq&amp;gt;.pcap&lt;br /&gt;
:;conference ID: A guid identifying the call accross different hops. It is forwarded within the signaling. The CDRs generated by the PBX contain this conference ID.&lt;br /&gt;
:;mac: The Mac address of the device recording the call. Together with &#039;&#039;&#039;seq&#039;&#039;&#039; it is used to make shure the filename is unique if seperate devices record the same call.&lt;br /&gt;
:;seq: A sequence number of the record starting with 0 after power up of the recording device. Together with &#039;&#039;&#039;mac&#039;&#039;&#039; it is used to make shure the filename is unique, esspecially to cover the case, that one device records the same call multiple times (e.g. incoming and outgoing)&lt;br /&gt;
&lt;br /&gt;
=== Feature Code Support ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Feature Code Support&#039;&#039;&#039; turns on Supplementary services for a single endpoint connected to the physical interface, which can be invoked using *# dial sequences. This is availabe on FXS interfaces only.&lt;br /&gt;
&lt;br /&gt;
;Dynamic Group: The name of the group which membership can be changed using *# sequences from the endpoint.&lt;br /&gt;
&lt;br /&gt;
;Direct Dial: Number to be dialed on off-hook. This only works if feature code support is enabled.&lt;br /&gt;
&lt;br /&gt;
;Locked White List: A white-list of numbers, separated by &#039;,&#039; which may be still dialed if the endpoint is locked using *# sequences.&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Upgrade_IPxxxA_to_support_more_DRAM_Memory&amp;diff=37931</id>
		<title>Howto:Upgrade IPxxxA to support more DRAM Memory</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Upgrade_IPxxxA_to_support_more_DRAM_Memory&amp;diff=37931"/>
		<updated>2015-05-28T15:38:47Z</updated>

		<summary type="html">&lt;p&gt;Tle: New page: &amp;lt;!-- keywords: IP110A, IP240A, DRAM, Memory, phones, update --&amp;gt; ==Applies To== * IP110A, IP240A with lower software versions than V11R2 SR1  ==Problem== New IP110A and IP240A are preinstal...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: IP110A, IP240A, DRAM, Memory, phones, update --&amp;gt;&lt;br /&gt;
==Applies To==&lt;br /&gt;
* IP110A, IP240A with lower software versions than V11R2 SR1&lt;br /&gt;
&lt;br /&gt;
==Problem==&lt;br /&gt;
New IP110A and IP240A are preinstalled with software which do not support the bigger DRAM. The phones also &#039;&#039;don&#039;t know&#039;&#039; that they are &#039;&#039;&#039;A&#039;&#039;&#039; and therefore they cannot automaticly be updated over the update server with update-ipxxx&#039;&#039;&#039;A&#039;&#039;&#039;.htm&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
If you have only IP110A and/or IP240A update the bootcode to V11R2 SR1 or later. After the update (and reset) the phones have bigger DRAM and the (system internal) name is changed to IPxxxA. &lt;br /&gt;
&lt;br /&gt;
The easiest way to do this via update server is to use update-IP110.htm and update-IP240.htm (not update-IP110&#039;&#039;&#039;A&#039;&#039;&#039;.htm or update-IP240&#039;&#039;&#039;A&#039;&#039;&#039;.htm because phone does not know the &#039;&#039;&#039;A&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Update the bootcode and reset the phone (if you use an existing script comment out the prot line for the firmware update)&lt;br /&gt;
&lt;br /&gt;
 mod cmd UP0 boot http://x.x.x.x/DRIVE/CF0/update/v11r2sr1/boot110a.bin /ser xxxx&lt;br /&gt;
 #mod cmd UP0 prot http://x.x.x.x/DRIVE/CF0/update/v11r2sr1/ip110a.bin /ser xxxx&lt;br /&gt;
 irebootn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Update the firmware&lt;br /&gt;
 mod cmd UP0 boot http://x.x.x.x/DRIVE/CF0/update/v11r2sr1/boot110a.bin /ser xxxx&lt;br /&gt;
 mod cmd UP0 prot http://x.x.x.x/DRIVE/CF0/update/v11r2sr1/ip110a.bin /ser xxxx&lt;br /&gt;
 irebootn&lt;br /&gt;
&lt;br /&gt;
If you have a mix with IP110 and IP110A and/or IP240 and IP240A you can use the same update script for IPxxx and IPxxxA. IPxxx will ignore the bootcode for IPxxxA&lt;br /&gt;
&lt;br /&gt;
After this procedure you can use the update path without the .bin files. But from this point on you need for the &#039;&#039;&#039;A&#039;&#039;&#039; phones own .htm files (i.e. update-IP110&#039;&#039;&#039;A&#039;&#039;&#039;.htm)&lt;br /&gt;
&lt;br /&gt;
 mod cmd UP0 boot http://x.x.x.x/DRIVE/CF0/update/v11r2sr2/ /ser xxxx&lt;br /&gt;
 mod cmd UP0 prot http://x.x.x.x/DRIVE/CF0/update/v11r2sr2/ /ser xxxx&lt;br /&gt;
 irebootn&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:XCAPI&amp;diff=37009</id>
		<title>Howto:XCAPI</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:XCAPI&amp;diff=37009"/>
		<updated>2015-03-06T10:43:12Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* One way audio using SRTP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- {{Template:3rd Party Input}} --&amp;gt;&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* Configuring the XCAPI with the innovaphone Gateways and innovaphone PBX&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This document is intended to support you with the integration of the XCAPI (version 3.4.0.0) into an existing environment of&lt;br /&gt;
current innovaphone gateways (Version 6 and following). In the following sections we describe the essential steps of configuration to allow for optimal cooperation of both the XCAPI and the innovaphone PBX/gateway. At this point, we suppose that the innovaphone PBX, the hardware the XCAPI is running on and both the XCAPI and your CAPI applications are already installed properly. For some extended information on installation procedures please refer to the respective manuals. A short installation manual for the XCAPI is available at the XCAPI Homepage (http://www.te-systems.de/community/index.php?L=0).&lt;br /&gt;
&lt;br /&gt;
Both XCAPI and Innovaphone support H.323 and SIP and we can configure the Trunk between them using the Gateway/Relay or directly registering XCAPI on the PBX. However the only method recommend to be used it&#039;s registering XCAPI directly on the innovaphone PBX using SIP Protocol.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuring the innovaphone ===&lt;br /&gt;
In this example, we are going to use one PBX gateway object (XCAPI-SIP-GW) and register XCAPI on this Object. &lt;br /&gt;
&lt;br /&gt;
==== Creating a Gateway Object in the PBX ====&lt;br /&gt;
Log in to the PBX administration and create a new gateway object. The name of the object is &amp;quot;XCAPI-SIP-GW&amp;quot;, and the number is 93 in this case.&lt;br /&gt;
&lt;br /&gt;
[[Image:2-pbx-gw-object-gw-4-config.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Image:XCAPI_no_iband_disconnect.PNG]]&lt;br /&gt;
&lt;br /&gt;
Note: At this Gateway Object we should select the option &amp;quot;No Inband Disconnec&amp;quot; to avoid issues with external call transfer that are rejected.&lt;br /&gt;
&lt;br /&gt;
=== XCAPI Configuration ===&lt;br /&gt;
When the XCAPI configuration is started for the first time, there are no configured controllers. Use the link &amp;quot;Click here to add a controller&amp;quot; in the overview page to start the controller wizard.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-0.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== Add new VoIP controller ====&lt;br /&gt;
On the welcome page of the controller wizard, select to add a new VoIP controller.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-1.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== Network Interface ====&lt;br /&gt;
In the next dialog, select the network interface that you want to use for the SIP connection between the XCAPI and the innovaphone gateway.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-2.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== Select VoIP environment template ====&lt;br /&gt;
From the list of predefined VoIP environments, select a innovaphone (PBX object) template.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-3.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== Signalling Protocol ====&lt;br /&gt;
We must select SIP as protocol to be used by XCAPI.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-4.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== innovaphone (PBX Object) ====&lt;br /&gt;
Here we must insert the innovaphone PBX System Name or IP address. This will depend on the option &amp;quot;Use as Domain&amp;quot; at PBX-&amp;gt;Config.&lt;br /&gt;
&lt;br /&gt;
If we have &amp;quot;Use as Domain&amp;quot; we insert the system name of the PBX:&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-5a.PNG]]&lt;br /&gt;
&lt;br /&gt;
Then if the System name it&#039;s not resolved by DNS we need to configure SIP Proxy in the XCAPI Configuration after we finish the Wizard:&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-5b.PNG]]&lt;br /&gt;
&lt;br /&gt;
If there is no &amp;quot;Use as Domain&amp;quot; we configure the IP address of the PBX:&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-5.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== User Information ====&lt;br /&gt;
Here we insert the GW Object Name previously created at &amp;quot;Username&amp;quot; field, the use of password it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-6.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== Description and channels ====&lt;br /&gt;
Enter a meaningful description and the number of lines that the XCAPI can use to communicate with the innovaphone gateway simultaneously.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-7.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== Confirmation ====&lt;br /&gt;
Check if all necessary information has been entered correctly (green symbols on the left) and confirm all data by clicking Finish.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-8.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then the new controller appears in the XCAPI configuration. Save the changes and stop all running CAPI applications before restarting them.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-9.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
=== No MOH ===&lt;br /&gt;
&lt;br /&gt;
* In XCAPI version 3.3.249 when XCAPI puts call on hold it uses media attribute &amp;quot;send-only&amp;quot;, this could affect some call scenarios by not providing MOH to the held party. In order to PBX provide the MOH the hold must be set with media attribute &amp;quot;inactive&amp;quot; instead. In future releases of XCAPI it&#039;s planned that &amp;quot;inactive&amp;quot; will be set already in the template for innovaphone PBX meanwhile you can edit in the configuration this option like the image bellow shows. Also other option that should be enable it&#039;s &amp;quot;Send attribute &amp;quot;Recvonly&amp;quot; when being held&amp;quot; for the cases that XCAPI it&#039;s put on hold.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-10.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you perform a consultation transfer with XCAPI (example using Voxtron Agent hold incoming PSTN call and does consultation transfer with alerting to another agent) and the held party doesn&#039;t hear the MOH/Alerting from the PBX then the reason could be the default option in XCAPI configuration to &amp;quot;Discard incoming audio data when held&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-11.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Failure on Registration due missing Username ===&lt;br /&gt;
&lt;br /&gt;
* Gateway Object with Password requires extra step of configuration on XCAPI settings after XCAPI wizard it&#039;s finished. For that reason we need to insert the Name/Number for registration at field &amp;quot;Username(Authorization)&amp;quot; at XCAPI SIP Settings.&lt;br /&gt;
&lt;br /&gt;
[[Image:controller-wizard-12.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Incoming call declined by PBX ===&lt;br /&gt;
&lt;br /&gt;
*If the registration is successful but an incoming call is declined by the PBX due to an unknown contact header you should enter the xcapi object name as contact parameter in the XCAPI configuration.&lt;br /&gt;
&lt;br /&gt;
[[Image: Xcapi-contact.png]]&lt;br /&gt;
&lt;br /&gt;
- On v10sr8/V10sr9 the previous behaviour was fixed so the Contact Info should have no value, if you set value like the example this will cause problems with the SIP Register after a restart of the Gateway.&lt;br /&gt;
&lt;br /&gt;
- On v10sr10 there is a fix for the SIP Register issue, so you can set a name on the Contact Info or leave it blank both methods will work.&lt;br /&gt;
&lt;br /&gt;
=== One way audio using SRTP ===&lt;br /&gt;
XCapi does not support SRTP unless the optional XSSA Module is installed.  If SRTP is used anyway, one-way-audio may occur (from XCapi to innovaphone endpoint). &lt;br /&gt;
&lt;br /&gt;
If you do not want to install XSSA (and thus use un-encrypted RTP to the XCapi), cou may (from XCAPI Version 3.4.x on) enable the XCAPI Tweak &amp;lt;&#039;&#039;REJECT_UNACCEPTABLE_SDP&#039;&#039;&amp;gt; to reject calls with unsupported SAVP (i.e. SRTP) media requests.&lt;br /&gt;
&lt;br /&gt;
[[Image:XCAPI_Tweak_reject_unacceptable_SDP.jpg]]&lt;br /&gt;
&lt;br /&gt;
The calling innovaphone device will then re-initiate the call w/o SRTP.&lt;br /&gt;
&lt;br /&gt;
For more information about XSSA please contact TE-Systems.&lt;br /&gt;
&lt;br /&gt;
=== T38 / Fax failed ===&lt;br /&gt;
T38 will not supported if the option &amp;quot;Software Fax über Sprachkanäle benutzen&amp;quot; is enabled. If required disable this option.&lt;br /&gt;
&lt;br /&gt;
[[Image:Xcapi_controller_features_softax.png]]&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--*[[Main_Page|wiki-innovaphone]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* http://www.xcapi.de&lt;br /&gt;
* http://www.te-systems.de&lt;br /&gt;
&lt;br /&gt;
[[Category:Faq|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Compat|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/System_Setup&amp;diff=36143</id>
		<title>Reference10:Voice Recorder/System Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/System_Setup&amp;diff=36143"/>
		<updated>2014-12-08T11:21:13Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* IP-Phone setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This helps describe the setup of components involved in the recording solution. For a description of the recorder setup see Related Articles.&lt;br /&gt;
&lt;br /&gt;
= Reporting Setup =&lt;br /&gt;
&lt;br /&gt;
In the reporting there is no special setup required. If running on a VMware assure that the reporting starts each time with the same IP address. &lt;br /&gt;
&lt;br /&gt;
The recorder requires reporting Version 10, Build 10043 or higher.&lt;br /&gt;
&lt;br /&gt;
Important: Each extension producing a .pcap file must be included in the reporting!&lt;br /&gt;
If just some extensions should be recorded (and just for them reporting licenses are foreseen) a special setup in the routing is required to assure that just those extension will pass the recording GW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= PC Setup =&lt;br /&gt;
&lt;br /&gt;
As always the PC World is full of traps and therefor in this section we try to collect some. We show you also if possible what the result will be. Of cause the exact wording of the messages depends on the language of your computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where is the application and where are the setup data?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The application is installed in the Folder “\Programs\innovaphone\innovaphone Recorder”. If you install the recorder on a 64 bit machine instead of “\Programs” you will find the application the “Program (x86)” folder. &lt;br /&gt;
&lt;br /&gt;
The setup data are stored in the folder “\user\yourUser\AppData\Roaming\innovaphone\innovaphone Recorder”. &lt;br /&gt;
&lt;br /&gt;
If you don’t see the folder “AppData” you must switch on the option of the file explorer in the Tab Views the flag “show hided files and drives”. Observe that the recorder can save his data also in the directory where he is running (depends on the relative flag in his setup).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First start after installation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open immediately the setup to avoid that the recorder tries to recover error because of an empty setup. The application recognizes this first startup, anyway open the setup. Remember as jet stated that before starting to work with the recorder the basics should run (PBX, Groups, Soap user, reporting, Webdav, recording path, all this should be up and running fine).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Start up with administrator rights&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Recorder needs to be started with administrator rights. Therefore or you are logged as administrator or you must start the application as admin (right mouse click on the application, “start as admin”). If you start the application without hose rights probably the alarm “Disk” and “Setup”, for Shure the “CF” alarm will be displayed and no webdav access is possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Webdav&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Webdav access is particular darn and there are many reasons why an access could fail.&lt;br /&gt;
&lt;br /&gt;
So if it works fine, otherwise continue reading and proceed in this way:&lt;br /&gt;
&lt;br /&gt;
Try first to map a drive to the webdav using the file explorer (click on Network, connect network  drive, assing a letter and put in the field path your path to the webdav (for example \\172.o.m.g\DRIVE\CF0\). If this mapping works fine, you can now separate again this drive.&lt;br /&gt;
If not check you Proxy, that is generally a good idea, because sometimes the proxy is responsible that the attempt to reach a network drive fails. So switch off the proxy off for this PC. Firewalls and other components in the net or local on you PC can also block the access to the webdav, also in this case the manual mapping fails (and if manual fails also the recorder will fail). &lt;br /&gt;
&lt;br /&gt;
Note that the syntax to reach the webdav is different for a CF or an Webdav server on the linux application platform. &lt;br /&gt;
&lt;br /&gt;
Another strange reason for not connecting a NW drive could be the letter you assign in the recording setup. For example “H:” sounds good, you check your explorer and see that this letter is not assigned to any drive, so “free” for your understanding. To be shure that this is really a assignable “free” Drive letter for your machine you have 2 choices; user a “low” letter like “Y:” or “Z:” or use the letter that works with you manual mapping trial, or flag “Detect automatically” and observe the letter the PC try to map (you see that in the (right) syslog panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A stupid but even not forgiving issue is the correct setup, a wrong or missing slash or backslash will fail the mapping. Observe the path in the first picture at the beginning of this article; this is the syntax for a compact flash! &lt;br /&gt;
Now if you scroll down to the section “GROUP PCAP” you see a example for an access to webdav running on an innovaphone application platform. &lt;br /&gt;
&lt;br /&gt;
Before despair check also the correct admin and password, remember that typically the PW in the application plattform  is “linux”.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Platforms&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
SERVER:&lt;br /&gt;
&lt;br /&gt;
If you use a server (for example WIN2008) you have to face that on that server you must active the “Desktop Experience Features”.&lt;br /&gt;
&lt;br /&gt;
PC:&lt;br /&gt;
&lt;br /&gt;
If you use a &amp;quot;normal” Win7/8 PC you have not the &amp;quot;Experience&amp;quot; issue, but to fix the problem that Microsoft limit fro &amp;quot;not servers&amp;quot; the maximum file size and you can run in problems because very long conversations could not be downloaded from the webdav server. A typical maximum size id 50MB, so you have to solve this, here is how.&lt;br /&gt;
&lt;br /&gt;
See http://support.microsoft.com/kb/900900/en-us for more information and how resolve this limit. Our suggestion is to enlarge this limit at least to 500MB. &lt;br /&gt;
&lt;br /&gt;
The recorder will have an error like “Error in rename PCAP files&amp;quot; or “Error file to large – enhance max file size in registry” or similar.&lt;br /&gt;
&lt;br /&gt;
Follow the instructions given by MS and be carefully, the following sum-up just resume what usually the manual way to solve the problem is and MS writes in his KB: &lt;br /&gt;
&lt;br /&gt;
To resolve this issue, follow these steps:&lt;br /&gt;
&lt;br /&gt;
1.	Click Start, click Run, type regedit, and then click OK.&lt;br /&gt;
&lt;br /&gt;
2.	Locate and then click the following registry subkey:&lt;br /&gt;
&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters&lt;br /&gt;
&lt;br /&gt;
3.	In the right pane, right-click the FileSizeLimitInBytes value, and then click Modify.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you cannot see the FileSizeLimitInBytes value, right-click the blank space in the right pane, click New, click DWORD Value, type FileSizeLimitInBytes, and then click OK.&lt;br /&gt;
&lt;br /&gt;
4.	In the Edit DWORD Value box, click to select the Decimal option. In the box under Value data, type a value that is larger than the size of the file that you want to download. Click OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note The default value for the file size limit is 50000000 bytes.&lt;br /&gt;
&lt;br /&gt;
5.	Quit Registry Editor. Restart the computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Filesize.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Gateway Setup =&lt;br /&gt;
&lt;br /&gt;
The voice has to transit a logical GW where the [[Reference9:Gateway/Interfaces/VOIP#Media_Properties | URL “Record to (URL)”]] is defined. Including or excluding extensions in the routing allow selective recording of just defined extension (or exclude some extensions). Also mapping in the PBX can be used to manipulate call routing. See relative chapters in the Wiki. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
[[Image:VR006.png]]&lt;br /&gt;
&lt;br /&gt;
Note: The Media Properties for this GW has to be set to G711A Exclusive! Therefore just this codec can be recorded. The media relay flag has to be switched on to force audio pass-through (and therefore recording) also in case if IP to IP calls.&lt;br /&gt;
&lt;br /&gt;
Voice recording means CPU and storage load and a clever layout can minimizes the usage of those resources while especially in huge scenarios an unconcerned one can cause huge workload.&lt;br /&gt;
&lt;br /&gt;
First of all record possibly just what is necessary. If you have for example 2000 user but you have to record just 20 of them, recording all traffic is not a brilliant idea. Because the PBX CPU streams all the conversations down to the CF/Webdav, then the recorder has to delete 99% of those files. Not really a big deal if absolutely necessary, but probably there is a smarter way. For example record directly just the 20 IP-Phones phones.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The CDR0 or CDR1 must point to the reporting tool (Type = “REMOTE-AP”, IP address and Port 80).&lt;br /&gt;
&lt;br /&gt;
Note: on the trunk object the flag “reporting” must be on (and you will need one reporting license for that).&lt;br /&gt;
&lt;br /&gt;
= IP-Phone setup =&lt;br /&gt;
&lt;br /&gt;
Voice recording can be done by the Gateway but also directly by the innovaphone IP-Phone.&lt;br /&gt;
&lt;br /&gt;
Doing VR using the IP-Phone has the following advantages or disadvantages; it depends on your point of view and the scenario.&lt;br /&gt;
&lt;br /&gt;
-	CPU-Load: No CPU power from the PBX is required, a Phone has enough CPU-Power to do that and more, and therefore it becomes an extremely scalable solution. If you do not use an external WebDAV server but a CF anyway the PBX CPU has some load (playing WebDAV server for the Phone)&lt;br /&gt;
&lt;br /&gt;
-	All calls on the phone are recorded (not just those crossing a gateway), so even internal calls (basically everything the phone is doing).&lt;br /&gt;
&lt;br /&gt;
-	Al users working on the phone are recorded. This means also that each possible user on the phone must have the reporting license otherwise a call from that user will cause a major alarm.&lt;br /&gt;
&lt;br /&gt;
-	Transferred calls to other extensions are after the call transfer no longer recorded. In case of gateway recording it is different, until the call cross the gateway recording is done. &lt;br /&gt;
&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;
-	Only innovaphone IP-Phones IP2x2 series and “A”-types (like IP110A, but not IP110) can performing VR directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you like or must do recording not in the GW but in the IP-Phone, here is how:&lt;br /&gt;
&lt;br /&gt;
Switch on the recording has to be done in the phone setup file, there is no menu option.&lt;br /&gt;
&lt;br /&gt;
Save the setup file of the phone, open an editor, edit the setup and load the setup up again.&lt;br /&gt;
&lt;br /&gt;
In the setup you will see a row beginning with “config change PHONE SIG”, that is the strategic point to edit.&lt;br /&gt;
&lt;br /&gt;
The command to add is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/record http://xx.yy.zz.uu/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Your config line is like that:&lt;br /&gt;
&lt;br /&gt;
 config change PHONE SIG /no-intrusion-tone on /prot H323 /gk-addr 172.16.88.98 /e164 37 /tones 0 /lcoder G711A,20, /coder G711A,20,&lt;br /&gt;
&lt;br /&gt;
while you recording path is on the CF in the directory “RECORDING” and your PBX has the IP-Adress 172.16.88.98. you line must be the following:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;config change PHONE SIG /no-intrusion-tone on /prot H323 /gk-addr 172.16.88.98 /e164 37 /tones 0 /lcoder G711A,20, /coder G711A,20, /record http://172.16.88.98/DRIVE/CF0/RECORDING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Note:&amp;lt;/i&amp;gt; After the &#039;config change&#039; command it&#039;s necessary to write and activate the changes&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
config write&lt;br /&gt;
&lt;br /&gt;
config activate &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Multiple Voice Recorder and Player =&lt;br /&gt;
&lt;br /&gt;
This section describes how to run more than one Voice recorder and player on one single PC and one single user.&lt;br /&gt;
&lt;br /&gt;
== Voice Recorder ==&lt;br /&gt;
&lt;br /&gt;
If you install more than one recorder running on one single PC user (obviously in different directories) you face the problem that both share the same setup. &lt;br /&gt;
That is so because the recorder writes his setup and log files in the “user\AppData\roaming\innovaphone\innovaphone Recorder” directory. &lt;br /&gt;
Therefore in the genera Panel of the setup of the recorder there is a flag “save setup in own directory”; if flagged the setup will be saved in the directory where the recorder is running. Admin rights are required (or at least the recorder application must be launched with those credential, right mouse and “start ad administrator”). &lt;br /&gt;
&lt;br /&gt;
Technically all recorders will load after the start-up in the user-appdata directory the setup and find out that the data should be retrieved and stores in the local directory. Therefore the “own” directory is detected and the local setup loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that each voice recorder has to interface the PBX SOAP where the recording user are registrated and each recorder must have his own CF/Webdav directory. Each recorder must have also his own and different group.&lt;br /&gt;
&lt;br /&gt;
Example 1: One singe PBX, two groups of user to record on 2 recorder. Load the license for the total number of use to register in the master PBX, assign each group a different recording group name. Install the recorder in different directories and do the setup, the SOAP user and the reporting is the same. But you have to store the recording pcap files on different directories. In some cases this is quite simple because you route the outgoing and incoming traffic over different GW pointing on different directories of the CF/Webdav. In some cases this is difficult or impossible, and so the only way is that the user of one group records directly from the innovaphone IP-Phone in a separate directory.&lt;br /&gt;
&lt;br /&gt;
Example2: Master/Slaves where the Salve user are registrated in the salve and not in the master PBX. But all users use the same trunk line on the slave site. There should be recorded user in the master and user in the salve PBX. Even in this case you need 2 recorder engines, one read out the SOAP in the master and record the user in the master and point to the SOAP of the salve PBX. The user in the slave PBX has to record directly from the phone to a dedicated CF/Webdav directoy.&lt;br /&gt;
Note that in case of more recorder the storing path could be the same, so the player will have all records in one directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Player ==&lt;br /&gt;
&lt;br /&gt;
If a user want run more Player on one PC that is probably because he want create different shortcuts on the desktop to start different player (with different setups). &lt;br /&gt;
&lt;br /&gt;
Also the player stores his data in the user-app directory like the recorder, in the directory “user\AppData\roaming\innovaphone\innovaphone Player”. Of course doing so all players even if installed in different directories will access to the same setup, not a good idea. Therefore a player can be launched with an optional command indicating the directory where the setup should be loaded and stored. In the shortcut the directory must be inserted with a space after the command itself.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
This is the original path in the shortcut:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\innovaphone\innovaphone Player\innovaphone_Player.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you add the path “c:\asdf\” the setup will be stored in that directory, so you have to change the property of the shortcut in&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\innovaphone\innovaphone Player\innovaphone_Player.exe&amp;quot; c:\asdf\&lt;br /&gt;
&lt;br /&gt;
(Note no quotation marks for the path and a space after the link to the setup directory)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Player Setup =&lt;br /&gt;
&lt;br /&gt;
See relative Related Articles&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
&lt;br /&gt;
* [[Reference10:Voice_Recorder/Setup]]&lt;br /&gt;
* [[Reference10:Voice_Player/Setup]]&lt;br /&gt;
* [[Reference10:Concept_Voice_Recorder]]&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>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup&amp;diff=36119</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=36119"/>
		<updated>2014-12-05T09:56:36Z</updated>

		<summary type="html">&lt;p&gt;Tle: &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 10043 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:RecSetup01.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;
=== 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;
=== 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;
&lt;br /&gt;
=== Save Setup in own directory ===&lt;br /&gt;
&lt;br /&gt;
See chapter “Multiple Voice Recorder and Player/Voice Recorder&amp;quot;&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;
=== Do NOT savew 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;
=== 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;
&lt;br /&gt;
=== Softmigration===&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;
=== 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;
&lt;br /&gt;
== PBX ==&lt;br /&gt;
&lt;br /&gt;
Communication to the PBX is necessary because of licensing. Like in other applications admin access and SOAP user is required. &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;
Please note that there is a different behavior using a native CF or a CF emulated by the Linux application. A native CF will show a file name immediately when recording starts while the Linux OS will show the file just when the call is terminated. Therefore if you use a Linux OS and a user is not in the group even the counter “Channels in recording” is not showing the correct value.&lt;br /&gt;
&lt;br /&gt;
=== HTTPS ===&lt;br /&gt;
Check if the PBX is using HTTPS.&lt;br /&gt;
&lt;br /&gt;
== Reporting ==&lt;br /&gt;
The recorder has to be able to 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;
=== 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 recording. 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;
=== 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;
=== 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;
=== HTTPS ===&lt;br /&gt;
&lt;br /&gt;
Check if the reporting is using HTTPS&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;
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;
* CF:&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup88.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IP addr.  “172.16.88.98” (so no http or similar)&lt;br /&gt;
&lt;br /&gt;
Typically User and Password are the one of the PBX, remember that the credentials CF must have write access.&lt;br /&gt;
&lt;br /&gt;
Path PCAP “/DRIVE/CF0/MYrecDIR”&lt;br /&gt;
&lt;br /&gt;
The result shown in the framed box will be “172.16.88.98/DRIVE/CF0/MYrecDIR/” and the recorder will try to access to this directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Webdav:&lt;br /&gt;
&lt;br /&gt;
[[Image:IRecN01.png]]&lt;br /&gt;
&lt;br /&gt;
IP addr.  “172.16.88.199/webdav”&lt;br /&gt;
&lt;br /&gt;
Typically User and Password are the one of the application platform, admin and linux for example.&lt;br /&gt;
&lt;br /&gt;
Path PCAP “/log/”&lt;br /&gt;
&lt;br /&gt;
The result shown in the framed box will be “172.16.88.199/webdav/log/” and the recorder will try to access to this directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you use a webdav server (if for example you have running the application platform) her again a typical setup for that:&lt;br /&gt;
&lt;br /&gt;
===Delete old PCAP files after __ cycles===&lt;br /&gt;
If the recorder starts and found a old PCAP file where non SOAP information is available he will interrogate the reporting tool. &lt;br /&gt;
&lt;br /&gt;
If the reporting will answer with “no record” the recorder waits a here indicated number of cycles before deleting the PCAP file on the CF. &lt;br /&gt;
&lt;br /&gt;
Minimum Value = 2, require build 1071 or higher.&lt;br /&gt;
&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;
&lt;br /&gt;
== Communication ==&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;
&lt;br /&gt;
=== Send TCP/IP Message – Lounch application string ===&lt;br /&gt;
&lt;br /&gt;
Select the desired interface mode, the parameter of the not selected one are skipped.&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 (option)===&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 just as a fileserver for the player this address and port this is the communication socket for the player (Build 1074 or higher). &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;
&lt;br /&gt;
== TCR ==&lt;br /&gt;
&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;
&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;
&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;
=== Thread Call Recording ===&lt;br /&gt;
&lt;br /&gt;
Indicate the path to the XML file called from user to mark the call. Typically the XML is located at the CF, the example shows that the XML is running in the “TCR” directory of the CF.&lt;br /&gt;
&lt;br /&gt;
=== Path TCR ===&lt;br /&gt;
&lt;br /&gt;
Indicate the path to the XML file called from user to mark the call. Typically the XML is located at the CF, the example shows that the XML is running in the “/DRIVE/CF0/IF_REC” directory of the CF (not a good idea indicate the same directory than the one of the recording files, use a different one).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TCR flag Timeout ===&lt;br /&gt;
&lt;br /&gt;
After that timeout calls not marked are deleted. A typical value is 5 minutes.&lt;br /&gt;
&lt;br /&gt;
=== XML Number ===&lt;br /&gt;
&lt;br /&gt;
If recording is done directly from the innovaphone IP-phone also that 3party confenece call (even if short) to the XML for marking is again a recorded. Indicate the XML number, so all calls to that number will be deleted automatically.&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;
= Other Setup =&lt;br /&gt;
&lt;br /&gt;
For Reporting setup, PC setup, Gateway setup, IP-Phone Setup, Multiple Voce Recorder and Player see related Articles (System Setup)&lt;br /&gt;
&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;
&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>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Phone/User/Function-Keys/Call-Forwarding&amp;diff=35116</id>
		<title>Reference9:Phone/User/Function-Keys/Call-Forwarding</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Phone/User/Function-Keys/Call-Forwarding&amp;diff=35116"/>
		<updated>2014-09-08T14:34:56Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Call Forwarding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Call Forwarding ==&lt;br /&gt;
&lt;br /&gt;
This function allows incoming calls to be diverted. Four states with different destinations can be configured (for example, mobile phone, voicemail), which are offered in succession. In each of these states, the following options can be used:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Always&#039;&#039;&#039; Continuous call diversion exists here. &lt;br /&gt;
* &#039;&#039;&#039;Busy&#039;&#039;&#039; Call diversion is activated when the user&#039;s telephone is busy. &lt;br /&gt;
* &#039;&#039;&#039;No response&#039;&#039;&#039; Call diversion is activated after a time delay, for instance after four dial tones.&lt;br /&gt;
* &#039;&#039;&#039;Apply &#039;Always&#039; Setting Only&#039;&#039;&#039; If &amp;quot;Apply &#039;Always&#039; Setting Only&amp;quot; is checked the Function key toggles only over the &#039;Always&#039; (i.e. CFU) entries and keeps other existing diversions untouched. Thus CFB or CFNR diversions set at the phone or at the PBX are not changed when toggling this key. (since V8 hf10)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tip: Since the current call diversion is displayed on the display, the key labelling can be used to announce the next state to follow (active state). In the last state, it should therefore be displayed that further activation activates the state &amp;quot;0&amp;quot; without call diversion.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please note that telephones registered with SIP can not set call forwarding in the PBX (as there is no standard to do so in SIP).  Instead, the phone must perform and thus store the information locally.  To enable this behaviour, you need to issue the command (since v9/v10) &amp;lt;code&amp;gt; config add PHONE SIG /local-cf on&amp;lt;/code&amp;gt; or (since v11) &amp;lt;code&amp;gt;config add PHONE/SIG /local-cf on&amp;lt;/code&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
As such call forwards are executed by the phone itself, they will work only if the phone is up and running and registered.&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Concept_USB_Headset&amp;diff=35079</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=35079"/>
		<updated>2014-09-04T12:23:08Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* &amp;#039;&amp;#039;&amp;#039;Jabra UC VOICE 550 / 750&amp;#039;&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
The 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;
*	IP222 and 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 has 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 can be used when the range of the headset volume control is not sufficient.&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)===&lt;br /&gt;
Jabra Link 14201-30 (ID 0x0925) connects the headsets DHSG ports with the USB interface of the telephone&lt;br /&gt;
&lt;br /&gt;
====wireless====&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, ID 0x1041)&#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;
{| 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;
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;
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;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;
&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;Jabra SPEAK 410 / 510&#039;&#039;&#039;=====&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;Jabra 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;b&amp;gt;(since v10 SR5 / V9 hotfix 31)&amp;lt;/b&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 750 MS Duo Drk PN 7599-829-409 29/12/14 Version A &amp;lt;b&amp;gt;(since V10 SR15 / V9 hotfix 41)&amp;lt;/b&amp;gt; &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;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Plantronics===&lt;br /&gt;
Plantronics APU-70 (PN 83 018-01, USB ID 0x0410) connects the EHS port at headset base with the USB port of the telephone&lt;br /&gt;
&lt;br /&gt;
====wireless====&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;
&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)&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;
&lt;br /&gt;
=====&#039;&#039;&#039;Blackwire C320 / C520&#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;
{| 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 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; 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 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; 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 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;
&lt;br /&gt;
&lt;br /&gt;
===Sennheiser===&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;
====wireless====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;DW Office (PN 504300, 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;
&lt;br /&gt;
=====&#039;&#039;&#039;Presence UC ML, Presence Headset + USB-Bluetooth dongle BTD 800 USB (PN 504575, ID 0x002d)&#039;&#039;&#039;=====&lt;br /&gt;
(since v10sr6 / v9hotfix32) &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; | 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;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====corded====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;UUSB8 (Art. no. 504004, ID 0x0008)&#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;
|-&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;
&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 such an unsupported headset can be mapped to a supported headset&lt;br /&gt;
of similar properties.&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;
maps the new signature to an existing one. &#039;&#039;&#039;&amp;lt;map&amp;gt;&#039;&#039;&#039; format is&lt;br /&gt;
&lt;br /&gt;
  manufacturer:product=manufacturer:product&lt;br /&gt;
&lt;br /&gt;
The second &#039;&#039;&#039;manufacturer:product&#039;&#039;&#039; tuple is the signature of an already supported headset,&lt;br /&gt;
&#039;&#039;manufacturer&#039;&#039; and &#039;&#039;product&#039;&#039; are plain 4 digit hex numbers without a &amp;quot;0x&amp;quot; prefix.&lt;br /&gt;
More 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 a ID 0xa34a which is very similar to the &#039;&#039;Jabra SUPREME UC&#039;&#039; the map would be&lt;br /&gt;
&lt;br /&gt;
  vars create KEYS0/HID-MAP p 0b0e:a34a=0b0e:a346&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;0b0e&#039;&#039; ist the Jabra ManufacturerId and a346 is the ID of &#039;&#039;Jabra SUPREME UC&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Another Example how to detect the correct ID:&lt;br /&gt;
&lt;br /&gt;
We know a Jabra Speak 510 with ID 0420 and if the ID of his device is xxxx the correct command would be&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;
==3rd Party tested Headsets ==&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 speak 510 MS with part number 7510-109 ===&lt;br /&gt;
&lt;br /&gt;
I&#039;ve tried the Jabra speak 510 MS with part number 7510-109 with the following line&lt;br /&gt;
&lt;br /&gt;
!vars create KEYS0/HID-MAP p 0b0e:0422=0b0e:0420&lt;br /&gt;
&lt;br /&gt;
The result tests&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;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V7_V8&amp;diff=34499</id>
		<title>Howto:Firmware Upgrade V7 V8</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V7_V8&amp;diff=34499"/>
		<updated>2014-07-21T14:18:34Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all V8 capable innovaphone devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- version 8  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upgrade and Downgrade===&lt;br /&gt;
The upgrading and downgraing procedure for firmware is according to V7 as described in [[Howto:Firmware_Upgrade_V6_V7]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration Changes ===&lt;br /&gt;
&lt;br /&gt;
====PBX Object====&lt;br /&gt;
The Object type for a physical PBX is changed from &#039;&#039;&#039;Node&#039;&#039;&#039; Object to &#039;&#039;&#039;PBX&#039;&#039;&#039; Object. So now it exists a &#039;&#039;&#039;Node&#039;&#039;&#039; Object (for the numbering node Tree ) and a &#039;&#039;&#039;PBX&#039;&#039;&#039; Object (for the PBX Tree).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Ldap Quickdial&#039;&#039;&#039; Object is merged with the &#039;&#039;&#039;Directory Search&#039;&#039;&#039; Object, see&lt;br /&gt;
[[Reference8:Administration/PBX/Objects/LDAP Quickdial]]&lt;br /&gt;
&lt;br /&gt;
===Phone Display===&lt;br /&gt;
Please keep in mind that the phone ringing display for all innovaphone IP Phones (including the IP72) changes greatly with V8, see [[Reference8:Phone_Ringing_Screen]].&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
==== H323 EFC encoding changed ====&lt;br /&gt;
*In V8(starting with V7HF14) H323 EFC encoding is changed as described in the bug note [[Support:DVL-Hotfixes#coding_of_H.323_EFC_wrong]]. It results in not ringing V6,V7 phones, if called by V8 PBX.&lt;br /&gt;
&lt;br /&gt;
Solution: Pre-V8 devices must be updated to recent V6 or V7 version, to be compatible to V8.&lt;br /&gt;
&lt;br /&gt;
In case no update to recent V6 or V7 is possible, following configuration change must be done to the PBX:&lt;br /&gt;
&lt;br /&gt;
 config change H323 /fix 0&lt;br /&gt;
&lt;br /&gt;
When a phone register to the PBX the EFC setting(fix 0) is communicated to the phone. All phones in the installation will then use the old EFC encoding. However this is only a work around, the recommended solution is to update the devices to the recent V6 or V7 firmware.&lt;br /&gt;
&lt;br /&gt;
==== IP phones have smaller local phone-book capacity ==== &lt;br /&gt;
Due to the increased firmware size there is less memory left for the local in-core phone-book on the phones.  It is thus limited to 500 entries and will be truncated during upgrade.  This should not normally create a problem.&lt;br /&gt;
&lt;br /&gt;
There is an option to run larger local phone-books on a n IP phone.  For this, you need to specify the &amp;lt;code&amp;gt;/max xxx&amp;lt;/code&amp;gt; option for the FLASHDIR0 module with a value larger than 500 for &#039;&#039;xxx&#039;&#039; (e.g. &amp;lt;code&amp;gt;config add FLASHDIR0 /max 2048&amp;lt;/code&amp;gt;). Please note that you need to either add this option &#039;&#039;before&#039;&#039; you upgrade to V8 or you will need to restore the phone-book from a backup after the upgrade (as during upgrade the extraneous entries will be deleted).  &lt;br /&gt;
&lt;br /&gt;
This option is merely for migration purposes and its usage is not recommended.  It will consume extra runtime memory and may cause problems later on during normal operation.&lt;br /&gt;
&lt;br /&gt;
==== Double registration may not work ==== &lt;br /&gt;
This problem does not exist any longer when upgrading to the latest V8 version. &lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
If in V7 your phone was registered to the User object using &#039;&#039;&#039;Hardware id&#039;&#039;&#039; (i.e. &#039;&#039;&#039;ip230-xx-xx-xx&#039;&#039;&#039;) and a DECT handset was registered to the same User object as double registration, this will no longer work in v8 unless you configure the &#039;&#039;&#039;Name&#039;&#039;&#039; value under &#039;&#039;&#039;Devices&#039;&#039;&#039; in the User object setup. &lt;br /&gt;
See [[Reference8:Administration/PBX/Objects#Object Properties]] for further details on &#039;&#039;&#039;Name&#039;&#039;&#039; and &#039;&#039;&#039;Devices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V7&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:hw-id_v7.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V8&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:devices_v8.jpg]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Incompatibilities between certain Firmware Versions in V7, V8 and V9 ====&lt;br /&gt;
There are [[Support:Firmware_v9hotfix3_/_v8hotfix19_/_v7hotfix31_should_not_be_mixed_with_earlier_versions | incompatibilities between newer and older V7, V8 and V9 firmware builds]].  As a result, you should not mix these versions.  However, contemporary builds of all these version do not have the problem.  It is recommended thus to upgrade all V7 and/or V8 builds to the latest version &#039;&#039;before&#039;&#039; starting the migration.&lt;br /&gt;
&lt;br /&gt;
==== Versions / hotfixes ====&lt;br /&gt;
We strongly recommend not to omit a version during a upgrade&lt;br /&gt;
&lt;br /&gt;
I.e. Don&#039;t upgrade from v7 directly to V9 or V10&lt;br /&gt;
&lt;br /&gt;
Upgrade only step by step to the next versions highest hotfix. &lt;br /&gt;
&lt;br /&gt;
v7 (latest hotfix)  -&amp;gt; v8 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v8 (latest hotfix) -&amp;gt; v9 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v9 (latest hotfix) -&amp;gt; v10 (latest hotfix)&lt;br /&gt;
&lt;br /&gt;
=== Phone Directories===&lt;br /&gt;
&lt;br /&gt;
* Note when upgrading phones to V8 HF1, directories which were disabled in V7 may appear enabled in V8.  This is fixed in V8 HF2&lt;br /&gt;
&lt;br /&gt;
=== Store Phone Config===&lt;br /&gt;
Starting with v8 it is possible to store phone configs at the PBX (and not only on the phone as was the case until V7). This function is activated by enabling the checkmark [[Reference8:Administration/PBX/Objects#Object_Properties | Store Phone Config]] at the PBX-User-object.&lt;br /&gt;
While migrating from the phone based config to PBX based config, the option [[Reference8:Administration/PBX/Objects#Object_Properties | Discard Config on Phone]] can be used to discard an existing configuration at the phone. &lt;br /&gt;
As a result, when migrating your PBX from V7 to V8 the PBX-admin must decide whether the v7-phone-configs are to be discarded or not. The step-by-step procedure would be:&lt;br /&gt;
* update PBX to V8&lt;br /&gt;
* configure users with &#039;&#039;Store Phone Config&#039;&#039; and/or &#039;&#039;Discard Config on Phone&#039;&#039;&lt;br /&gt;
* update phones to V8 (only now the config is sent to the PBX)&lt;br /&gt;
&lt;br /&gt;
== End of life==&lt;br /&gt;
Due to memory limitations there is no V8 software for the IP3000 and IP3000DD&lt;br /&gt;
&lt;br /&gt;
Also please note that there is no V8 support for IP600, IP1500, IP21, IP400, IP202 and IP200 (the old one, not IP200A, see label on the back).&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware Upgrade V6 V7]]&lt;br /&gt;
*[[Support:DVL-Hotfixes#coding of H.323 EFC wrong]]&lt;br /&gt;
*[[Support:Firmware v9hotfix3 / v8hotfix19 / v7hotfix31 should not be mixed with earlier 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>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V7_V8&amp;diff=34498</id>
		<title>Howto:Firmware Upgrade V7 V8</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V7_V8&amp;diff=34498"/>
		<updated>2014-07-21T14:18:08Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Versions / hotfixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all V8 capable innovaphone devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- version 8  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upgrade and Downgrade===&lt;br /&gt;
The upgrading and downgraing procedure for firmware is according to V7 as described in [[Howto:Firmware_Upgrade_V6_V7]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration Changes ===&lt;br /&gt;
&lt;br /&gt;
====PBX Object====&lt;br /&gt;
The Object type for a physical PBX is changed from &#039;&#039;&#039;Node&#039;&#039;&#039; Object to &#039;&#039;&#039;PBX&#039;&#039;&#039; Object. So now it exists a &#039;&#039;&#039;Node&#039;&#039;&#039; Object (for the numbering node Tree ) and a &#039;&#039;&#039;PBX&#039;&#039;&#039; Object (for the PBX Tree).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Ldap Quickdial&#039;&#039;&#039; Object is merged with the &#039;&#039;&#039;Directory Search&#039;&#039;&#039; Object, see&lt;br /&gt;
[[Reference8:Administration/PBX/Objects/LDAP Quickdial]]&lt;br /&gt;
&lt;br /&gt;
===Phone Display===&lt;br /&gt;
Please keep in mind that the phone ringing display for all innovaphone IP Phones (including the IP72) changes greatly with V8, see [[Reference8:Phone_Ringing_Screen]].&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
==== H323 EFC encoding changed ====&lt;br /&gt;
*In V8(starting with V7HF14) H323 EFC encoding is changed as described in the bug note [[Support:DVL-Hotfixes#coding_of_H.323_EFC_wrong]]. It results in not ringing V6,V7 phones, if called by V8 PBX.&lt;br /&gt;
&lt;br /&gt;
Solution: Pre-V8 devices must be updated to recent V6 or V7 version, to be compatible to V8.&lt;br /&gt;
&lt;br /&gt;
In case no update to recent V6 or V7 is possible, following configuration change must be done to the PBX:&lt;br /&gt;
&lt;br /&gt;
 config change H323 /fix 0&lt;br /&gt;
&lt;br /&gt;
When a phone register to the PBX the EFC setting(fix 0) is communicated to the phone. All phones in the installation will then use the old EFC encoding. However this is only a work around, the recommended solution is to update the devices to the recent V6 or V7 firmware.&lt;br /&gt;
&lt;br /&gt;
==== IP phones have smaller local phone-book capacity ==== &lt;br /&gt;
Due to the increased firmware size there is less memory left for the local in-core phone-book on the phones.  It is thus limited to 500 entries and will be truncated during upgrade.  This should not normally create a problem.&lt;br /&gt;
&lt;br /&gt;
There is an option to run larger local phone-books on a n IP phone.  For this, you need to specify the &amp;lt;code&amp;gt;/max xxx&amp;lt;/code&amp;gt; option for the FLASHDIR0 module with a value larger than 500 for &#039;&#039;xxx&#039;&#039; (e.g. &amp;lt;code&amp;gt;config add FLASHDIR0 /max 2048&amp;lt;/code&amp;gt;). Please note that you need to either add this option &#039;&#039;before&#039;&#039; you upgrade to V8 or you will need to restore the phone-book from a backup after the upgrade (as during upgrade the extraneous entries will be deleted).  &lt;br /&gt;
&lt;br /&gt;
This option is merely for migration purposes and its usage is not recommended.  It will consume extra runtime memory and may cause problems later on during normal operation.&lt;br /&gt;
&lt;br /&gt;
==== Double registration may not work ==== &lt;br /&gt;
This problem does not exist any longer when upgrading to the latest V8 version. &lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
If in V7 your phone was registered to the User object using &#039;&#039;&#039;Hardware id&#039;&#039;&#039; (i.e. &#039;&#039;&#039;ip230-xx-xx-xx&#039;&#039;&#039;) and a DECT handset was registered to the same User object as double registration, this will no longer work in v8 unless you configure the &#039;&#039;&#039;Name&#039;&#039;&#039; value under &#039;&#039;&#039;Devices&#039;&#039;&#039; in the User object setup. &lt;br /&gt;
See [[Reference8:Administration/PBX/Objects#Object Properties]] for further details on &#039;&#039;&#039;Name&#039;&#039;&#039; and &#039;&#039;&#039;Devices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V7&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:hw-id_v7.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V8&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:devices_v8.jpg]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Incompatibilities between certain Firmware Versions in V7, V8 and V9 ====&lt;br /&gt;
There are [[Support:Firmware_v9hotfix3_/_v8hotfix19_/_v7hotfix31_should_not_be_mixed_with_earlier_versions | incompatibilities between newer and older V7, V8 and V9 firmware builds]].  As a result, you should not mix these versions.  However, contemporary builds of all these version do not have the problem.  It is recommended thus to upgrade all V7 and/or V8 builds to the latest version &#039;&#039;before&#039;&#039; starting the migration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Versions / hotfixes ====&lt;br /&gt;
We strongly recommend not to omit a version during a upgrade&lt;br /&gt;
&lt;br /&gt;
I.e. Don&#039;t upgrade from v7 directly to V9 or V10&lt;br /&gt;
&lt;br /&gt;
Upgrade only step by step to the next versions highest hotfix. &lt;br /&gt;
&lt;br /&gt;
v7 (latest hotfix)  -&amp;gt; v8 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v8 (latest hotfix) -&amp;gt; v9 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v9 (latest hotfix) -&amp;gt; v10 (latest hotfix)&lt;br /&gt;
&lt;br /&gt;
=== Phone Directories===&lt;br /&gt;
&lt;br /&gt;
* Note when upgrading phones to V8 HF1, directories which were disabled in V7 may appear enabled in V8.  This is fixed in V8 HF2&lt;br /&gt;
&lt;br /&gt;
=== Store Phone Config===&lt;br /&gt;
Starting with v8 it is possible to store phone configs at the PBX (and not only on the phone as was the case until V7). This function is activated by enabling the checkmark [[Reference8:Administration/PBX/Objects#Object_Properties | Store Phone Config]] at the PBX-User-object.&lt;br /&gt;
While migrating from the phone based config to PBX based config, the option [[Reference8:Administration/PBX/Objects#Object_Properties | Discard Config on Phone]] can be used to discard an existing configuration at the phone. &lt;br /&gt;
As a result, when migrating your PBX from V7 to V8 the PBX-admin must decide whether the v7-phone-configs are to be discarded or not. The step-by-step procedure would be:&lt;br /&gt;
* update PBX to V8&lt;br /&gt;
* configure users with &#039;&#039;Store Phone Config&#039;&#039; and/or &#039;&#039;Discard Config on Phone&#039;&#039;&lt;br /&gt;
* update phones to V8 (only now the config is sent to the PBX)&lt;br /&gt;
&lt;br /&gt;
== End of life==&lt;br /&gt;
Due to memory limitations there is no V8 software for the IP3000 and IP3000DD&lt;br /&gt;
&lt;br /&gt;
Also please note that there is no V8 support for IP600, IP1500, IP21, IP400, IP202 and IP200 (the old one, not IP200A, see label on the back).&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware Upgrade V6 V7]]&lt;br /&gt;
*[[Support:DVL-Hotfixes#coding of H.323 EFC wrong]]&lt;br /&gt;
*[[Support:Firmware v9hotfix3 / v8hotfix19 / v7hotfix31 should not be mixed with earlier 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>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V9_V10&amp;diff=34497</id>
		<title>Howto:Firmware Upgrade V9 V10</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V9_V10&amp;diff=34497"/>
		<updated>2014-07-21T14:17:44Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Versions / hotfixes */&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 V9 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;
== Configuration Changes ==&lt;br /&gt;
=== Registrations with H.323 and there is no matching Device ===&lt;br /&gt;
According to [[Reference9:PBX/Objects]], registrations must not be possible if there is no matching &#039;&#039;device&#039;&#039; entry in the object.  However, up to V9 it was possible to register if the &#039;&#039;H.323 id&#039;&#039; matched with the user entry. Such registrations will not be possible with V10 any more.&lt;br /&gt;
=== LLDP is enabled by default ===&lt;br /&gt;
From version 10, LLDP is implemented and enabled by default for all the Ethernet interfaces and can be disabled.  If a V9 device is connected to a switch that offers VLAN settings via LLDP, then this was ignored in V9 and will be honoured after an upgrade to V10.  Unfortunately, this will change the VLAN the device uses and thus may inhibit IP access to the device after the upgrade.&lt;br /&gt;
&lt;br /&gt;
You should disable LLDP before the upgrade thus.  If this is not possible, you may connect to the device using the other ETH interface to disable LLDP.  If this is not possible either, you need to connect the device to another switch w/o LLDP prior to the upgrade, disable LLDP after the upgrade and then put back the device to the original switch.&lt;br /&gt;
&lt;br /&gt;
== XCapi ==&lt;br /&gt;
For some time now we do recommend to use SIP to register an XCapi client with the PBX.  For more details, see [[Howto:XCAPI]].  XCapi installations which used to work with pre-V9 PBXs using H.323 may stop working with V10.  Changing the registration to SIP however may fail, if the XCapi used is old.  You may need to upgrade to a recent XCapi version (pls. refer to XCapi support for details, we have seen version 3.4 work fine).&lt;br /&gt;
&lt;br /&gt;
== Upgrading Linux Application Platform ==&lt;br /&gt;
&lt;br /&gt;
There is no upgrade hotfix/package available, as we have upgraded to the latest Debian distribution and changed other things, which prevent an easy upgrade. So you have to set up a new Linux Application Platform V10 with Reporting V10.&amp;lt;br&amp;gt;&lt;br /&gt;
To keep your configuration and data, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Save your Application Platform configuration files (see [[ Reference10:Concept_Linux_Application_Platform#Save_configuration_files.2Fdata | Concept Linux Application Platform]])&lt;br /&gt;
* Save your Reporting configuration and data (see [[ Reference10:Concept_Reporting#Backup_and_Restore | Concept Reporting]])&lt;br /&gt;
* Save your files from your Linux Application Platform webdav folder&lt;br /&gt;
* Install the current Linux Application Platform V10&lt;br /&gt;
* Install V10 Reporting and further applications, if needed&lt;br /&gt;
* Restore the saved configurations and data (see [[ Reference10:Concept_Linux_Application_Platform#Restore_configuration_files.2Fdata | Concept Linux Application Platform]])&lt;br /&gt;
* Copy your webdav files to the new webdav folder&lt;br /&gt;
* Reconfigure relay hosts under Administration-&amp;gt;Relay Hosts (formerly known as SMTP Relay)&lt;br /&gt;
&lt;br /&gt;
=== Reporting Replication ===&lt;br /&gt;
* Perform the above steps for the standby server too&lt;br /&gt;
* disable replication on master and standby afterwards!&lt;br /&gt;
* reconfigure replication on master and standby&lt;br /&gt;
&lt;br /&gt;
=== Upgrading from beta/rc? ===&lt;br /&gt;
Sorry, you have to perform the steps from above too! And you can&#039;t restore faxserver/exchange configuration/data files. You&#039;ll have to configure the servers again!&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
=== myPBX ===&lt;br /&gt;
Mixed V9 V10 myPBX chat conversations (as may occur when a large multi-slave site is upgraded step by step) are not supported.&lt;br /&gt;
&lt;br /&gt;
myPBX needs a license in v10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Versions / hotfixes ===&lt;br /&gt;
We strongly recommend not to omit a version during a upgrade&lt;br /&gt;
&lt;br /&gt;
I.e. Don&#039;t upgrade from v7 directly to V9 or V10&lt;br /&gt;
&lt;br /&gt;
Upgrade only step by step to the next versions highest hotfix. &lt;br /&gt;
&lt;br /&gt;
v7 (latest hotfix)  -&amp;gt; v8 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v8 (latest hotfix) -&amp;gt; v9 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v9 (latest hotfix) -&amp;gt; v10 (latest hotfix)&lt;br /&gt;
&lt;br /&gt;
=== Old Phone Models ===&lt;br /&gt;
Some of the older phone models (namely IP110, IP150, IP200A and IP240) are not capable of running the complete V10 firmware due to memory restrictions.  There are a few firmware versions with limited feature set available which still run on those models:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FW-name &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Display* &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;SIP&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;H.323&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;PPP&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Video &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Note &#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| ipxxx&lt;br /&gt;
|&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| no SIP&lt;br /&gt;
|-&lt;br /&gt;
| ipxxx-sip&lt;br /&gt;
| ps&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| no H.323&lt;br /&gt;
|-&lt;br /&gt;
| ipxxx-no-ppp&lt;br /&gt;
| hs&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| no PPP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xxx&#039;&#039; stands for the phone model (110, 150, 200A, 240).&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;*&#039;&#039; Abbreviation displayed in the &#039;&#039;General/Info&#039;&#039; screen next to the version-number&lt;br /&gt;
&lt;br /&gt;
So if you do not need SIP on the phones, you can still use the normal firmware file (e.g. &#039;&#039;ip110.bin&#039;&#039;).  However, if you need SIP, you need to decide on which feature to drop and use the respective firmware file variation. This may have some effect on your update scripts.&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;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords:  --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V8_V9&amp;diff=34496</id>
		<title>Howto:Firmware Upgrade V8 V9</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V8_V9&amp;diff=34496"/>
		<updated>2014-07-21T14:17:07Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * All V8 capable innovaphone devices --&amp;gt;&lt;br /&gt;
* All PBX devices&lt;br /&gt;
* All DECT devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ===Problem Details=== --&amp;gt;&lt;br /&gt;
== Configuration Changes ==&lt;br /&gt;
&lt;br /&gt;
=== PBX Objects ===&lt;br /&gt;
Existing &#039;&#039;&#039;Broadcast Conference&#039;&#039;&#039; objects must be changed with the update to V9 Final &#039;&#039;&#039;till V9 Hotfix 6&#039;&#039;&#039; if an innovaphone [[Reference:Administration/Gateway/Interfaces#Conferencing_interface_.28CONF.29|Conferencing Interface (CONF)]] is used. Add the &#039;Conference Id Prefix&#039; &#039;*3&#039; in all BC Conference objects, see also &lt;br /&gt;
[[Reference:Administration/Gateway/Interfaces#Conferencing_interface_.28CONF.29|Conferencing Interface]]. With V9 Hotfix 7 and later a predefined id prefix and suffix are used and nothing must be changed if the innovaphone Conferencing Interface is used. With &#039;&#039;&#039;V9 Hofix 7 and later&#039;&#039;&#039; the &#039;&#039;&#039;3rd Party Conferencing Unit&#039;&#039;&#039; option in the Broadcast Conference objects must be ticked again if a third party conference unit is used.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
&lt;br /&gt;
=== H.323 pickup execute encoding changed ===&lt;br /&gt;
If you use V8 DECT devices, the internal DECT feature code &#039;Pickup&#039; is not correct working with a V9 PBX. The call is not connected, but the device is called back by the PBX.&lt;br /&gt;
&lt;br /&gt;
Workaround: Update the DECT device to V9, use the PBX object DTMF features or use the call pickup with call back.&lt;br /&gt;
&lt;br /&gt;
=== innovaphone voicemail===&lt;br /&gt;
Mailboxes with vowel mutation (umlaute/umlauts), like ü,ö,ä (for example Müller, more precisely mailboxes for users with non-ascii characters in the name) did  work anymore when upgrading from pre-V9 versions to early V9 development versions.  This has been fixed from build 90423.  Pre-V9&lt;br /&gt;
&lt;br /&gt;
=== licenses with certain characters in license comment===&lt;br /&gt;
See [[Support:V8_to_V9_update_with_license_comments_with_certain-characters|V8 to V9 update with license comments with certain-characters]].&lt;br /&gt;
&lt;br /&gt;
=== Config Templates chained ===&lt;br /&gt;
Since there were changes on mechanism from v8 to v9, if there is a complex scenario with chained templates (3 or more) some configurations (ie. function keys) of &amp;quot;upper&amp;quot; templates are lost so it&#039;s needed to rework manually this &amp;quot;chains&amp;quot; on v9 setup setting the full &amp;quot;tree&amp;quot; of chained templates (up to 4) plus the checkmark of store-phone config in each template. &lt;br /&gt;
&lt;br /&gt;
=== Incompatibilities between certain Firmware Versions in V7, V8 and V9 ===&lt;br /&gt;
There are [[Support:Firmware_v9hotfix3_/_v8hotfix19_/_v7hotfix31_should_not_be_mixed_with_earlier_versions | incompatibilities between newer and older V7, V8 and V9 firmware builds]].  As a result, you should not mix these versions.  However, contemporary builds of all these version do not have the problem.  It is recommended thus to upgrade all V7 and/or V8 builds to the latest version &#039;&#039;before&#039;&#039; starting the migration.&lt;br /&gt;
&lt;br /&gt;
=== DHCP Lease Reservations with Umlaut-Characters ===&lt;br /&gt;
Non-ascii characters in DHCP lease reservations create problems after the upgrade.  It is best to remove all such characters before saving the old (pre-V9) configuration.&lt;br /&gt;
&lt;br /&gt;
=== Versions / hotfixes ===&lt;br /&gt;
We strongly recommend not to omit a version during a upgrade&lt;br /&gt;
&lt;br /&gt;
I.e. Don&#039;t upgrade from v7 directly to V9 or V10&lt;br /&gt;
&lt;br /&gt;
Upgrade only step by step to the next versions highest hotfix. &lt;br /&gt;
&lt;br /&gt;
v7 (latest hotfix)  -&amp;gt; v8 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v8 (latest hotfix) -&amp;gt; v9 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v9 (latest hotfix) -&amp;gt; v10 (latest hotfix)&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware Upgrade V6 V7]]&lt;br /&gt;
*[[Howto:Firmware Upgrade V7 V8]]&lt;br /&gt;
*[[Support:Firmware v9hotfix3 / v8hotfix19 / v7hotfix31 should not be mixed with earlier 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>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V7_V8&amp;diff=34495</id>
		<title>Howto:Firmware Upgrade V7 V8</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V7_V8&amp;diff=34495"/>
		<updated>2014-07-21T14:15:33Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all V8 capable innovaphone devices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- version 8  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upgrade and Downgrade===&lt;br /&gt;
The upgrading and downgraing procedure for firmware is according to V7 as described in [[Howto:Firmware_Upgrade_V6_V7]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration Changes ===&lt;br /&gt;
&lt;br /&gt;
====PBX Object====&lt;br /&gt;
The Object type for a physical PBX is changed from &#039;&#039;&#039;Node&#039;&#039;&#039; Object to &#039;&#039;&#039;PBX&#039;&#039;&#039; Object. So now it exists a &#039;&#039;&#039;Node&#039;&#039;&#039; Object (for the numbering node Tree ) and a &#039;&#039;&#039;PBX&#039;&#039;&#039; Object (for the PBX Tree).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Ldap Quickdial&#039;&#039;&#039; Object is merged with the &#039;&#039;&#039;Directory Search&#039;&#039;&#039; Object, see&lt;br /&gt;
[[Reference8:Administration/PBX/Objects/LDAP Quickdial]]&lt;br /&gt;
&lt;br /&gt;
===Phone Display===&lt;br /&gt;
Please keep in mind that the phone ringing display for all innovaphone IP Phones (including the IP72) changes greatly with V8, see [[Reference8:Phone_Ringing_Screen]].&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
==== H323 EFC encoding changed ====&lt;br /&gt;
*In V8(starting with V7HF14) H323 EFC encoding is changed as described in the bug note [[Support:DVL-Hotfixes#coding_of_H.323_EFC_wrong]]. It results in not ringing V6,V7 phones, if called by V8 PBX.&lt;br /&gt;
&lt;br /&gt;
Solution: Pre-V8 devices must be updated to recent V6 or V7 version, to be compatible to V8.&lt;br /&gt;
&lt;br /&gt;
In case no update to recent V6 or V7 is possible, following configuration change must be done to the PBX:&lt;br /&gt;
&lt;br /&gt;
 config change H323 /fix 0&lt;br /&gt;
&lt;br /&gt;
When a phone register to the PBX the EFC setting(fix 0) is communicated to the phone. All phones in the installation will then use the old EFC encoding. However this is only a work around, the recommended solution is to update the devices to the recent V6 or V7 firmware.&lt;br /&gt;
&lt;br /&gt;
==== IP phones have smaller local phone-book capacity ==== &lt;br /&gt;
Due to the increased firmware size there is less memory left for the local in-core phone-book on the phones.  It is thus limited to 500 entries and will be truncated during upgrade.  This should not normally create a problem.&lt;br /&gt;
&lt;br /&gt;
There is an option to run larger local phone-books on a n IP phone.  For this, you need to specify the &amp;lt;code&amp;gt;/max xxx&amp;lt;/code&amp;gt; option for the FLASHDIR0 module with a value larger than 500 for &#039;&#039;xxx&#039;&#039; (e.g. &amp;lt;code&amp;gt;config add FLASHDIR0 /max 2048&amp;lt;/code&amp;gt;). Please note that you need to either add this option &#039;&#039;before&#039;&#039; you upgrade to V8 or you will need to restore the phone-book from a backup after the upgrade (as during upgrade the extraneous entries will be deleted).  &lt;br /&gt;
&lt;br /&gt;
This option is merely for migration purposes and its usage is not recommended.  It will consume extra runtime memory and may cause problems later on during normal operation.&lt;br /&gt;
&lt;br /&gt;
==== Double registration may not work ==== &lt;br /&gt;
This problem does not exist any longer when upgrading to the latest V8 version. &lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
If in V7 your phone was registered to the User object using &#039;&#039;&#039;Hardware id&#039;&#039;&#039; (i.e. &#039;&#039;&#039;ip230-xx-xx-xx&#039;&#039;&#039;) and a DECT handset was registered to the same User object as double registration, this will no longer work in v8 unless you configure the &#039;&#039;&#039;Name&#039;&#039;&#039; value under &#039;&#039;&#039;Devices&#039;&#039;&#039; in the User object setup. &lt;br /&gt;
See [[Reference8:Administration/PBX/Objects#Object Properties]] for further details on &#039;&#039;&#039;Name&#039;&#039;&#039; and &#039;&#039;&#039;Devices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V7&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:hw-id_v7.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V8&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:devices_v8.jpg]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Incompatibilities between certain Firmware Versions in V7, V8 and V9 ====&lt;br /&gt;
There are [[Support:Firmware_v9hotfix3_/_v8hotfix19_/_v7hotfix31_should_not_be_mixed_with_earlier_versions | incompatibilities between newer and older V7, V8 and V9 firmware builds]].  As a result, you should not mix these versions.  However, contemporary builds of all these version do not have the problem.  It is recommended thus to upgrade all V7 and/or V8 builds to the latest version &#039;&#039;before&#039;&#039; starting the migration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Versions / hotfixes ====&lt;br /&gt;
We strongly recommend not to omit a version during a upgrade&lt;br /&gt;
&lt;br /&gt;
I.e. Don&#039;t upgrade from v7 directly to V9 or V10&lt;br /&gt;
&lt;br /&gt;
Upgrade only step by step to the next versions highest hotfix. &lt;br /&gt;
&lt;br /&gt;
V7 (latest hotfix)  -&amp;gt; v8 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v8 (latest hotfix) -&amp;gt; v9 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v9 (latest hotfix) -&amp;gt; v10 (latest hotfix)&lt;br /&gt;
&lt;br /&gt;
=== Phone Directories===&lt;br /&gt;
&lt;br /&gt;
* Note when upgrading phones to V8 HF1, directories which were disabled in V7 may appear enabled in V8.  This is fixed in V8 HF2&lt;br /&gt;
&lt;br /&gt;
=== Store Phone Config===&lt;br /&gt;
Starting with v8 it is possible to store phone configs at the PBX (and not only on the phone as was the case until V7). This function is activated by enabling the checkmark [[Reference8:Administration/PBX/Objects#Object_Properties | Store Phone Config]] at the PBX-User-object.&lt;br /&gt;
While migrating from the phone based config to PBX based config, the option [[Reference8:Administration/PBX/Objects#Object_Properties | Discard Config on Phone]] can be used to discard an existing configuration at the phone. &lt;br /&gt;
As a result, when migrating your PBX from V7 to V8 the PBX-admin must decide whether the v7-phone-configs are to be discarded or not. The step-by-step procedure would be:&lt;br /&gt;
* update PBX to V8&lt;br /&gt;
* configure users with &#039;&#039;Store Phone Config&#039;&#039; and/or &#039;&#039;Discard Config on Phone&#039;&#039;&lt;br /&gt;
* update phones to V8 (only now the config is sent to the PBX)&lt;br /&gt;
&lt;br /&gt;
== End of life==&lt;br /&gt;
Due to memory limitations there is no V8 software for the IP3000 and IP3000DD&lt;br /&gt;
&lt;br /&gt;
Also please note that there is no V8 support for IP600, IP1500, IP21, IP400, IP202 and IP200 (the old one, not IP200A, see label on the back).&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware Upgrade V6 V7]]&lt;br /&gt;
*[[Support:DVL-Hotfixes#coding of H.323 EFC wrong]]&lt;br /&gt;
*[[Support:Firmware v9hotfix3 / v8hotfix19 / v7hotfix31 should not be mixed with earlier 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>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V9_V10&amp;diff=34494</id>
		<title>Howto:Firmware Upgrade V9 V10</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V9_V10&amp;diff=34494"/>
		<updated>2014-07-21T14:14:36Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* myPBX */&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 V9 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;
== Configuration Changes ==&lt;br /&gt;
=== Registrations with H.323 and there is no matching Device ===&lt;br /&gt;
According to [[Reference9:PBX/Objects]], registrations must not be possible if there is no matching &#039;&#039;device&#039;&#039; entry in the object.  However, up to V9 it was possible to register if the &#039;&#039;H.323 id&#039;&#039; matched with the user entry. Such registrations will not be possible with V10 any more.&lt;br /&gt;
=== LLDP is enabled by default ===&lt;br /&gt;
From version 10, LLDP is implemented and enabled by default for all the Ethernet interfaces and can be disabled.  If a V9 device is connected to a switch that offers VLAN settings via LLDP, then this was ignored in V9 and will be honoured after an upgrade to V10.  Unfortunately, this will change the VLAN the device uses and thus may inhibit IP access to the device after the upgrade.&lt;br /&gt;
&lt;br /&gt;
You should disable LLDP before the upgrade thus.  If this is not possible, you may connect to the device using the other ETH interface to disable LLDP.  If this is not possible either, you need to connect the device to another switch w/o LLDP prior to the upgrade, disable LLDP after the upgrade and then put back the device to the original switch.&lt;br /&gt;
&lt;br /&gt;
== XCapi ==&lt;br /&gt;
For some time now we do recommend to use SIP to register an XCapi client with the PBX.  For more details, see [[Howto:XCAPI]].  XCapi installations which used to work with pre-V9 PBXs using H.323 may stop working with V10.  Changing the registration to SIP however may fail, if the XCapi used is old.  You may need to upgrade to a recent XCapi version (pls. refer to XCapi support for details, we have seen version 3.4 work fine).&lt;br /&gt;
&lt;br /&gt;
== Upgrading Linux Application Platform ==&lt;br /&gt;
&lt;br /&gt;
There is no upgrade hotfix/package available, as we have upgraded to the latest Debian distribution and changed other things, which prevent an easy upgrade. So you have to set up a new Linux Application Platform V10 with Reporting V10.&amp;lt;br&amp;gt;&lt;br /&gt;
To keep your configuration and data, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Save your Application Platform configuration files (see [[ Reference10:Concept_Linux_Application_Platform#Save_configuration_files.2Fdata | Concept Linux Application Platform]])&lt;br /&gt;
* Save your Reporting configuration and data (see [[ Reference10:Concept_Reporting#Backup_and_Restore | Concept Reporting]])&lt;br /&gt;
* Save your files from your Linux Application Platform webdav folder&lt;br /&gt;
* Install the current Linux Application Platform V10&lt;br /&gt;
* Install V10 Reporting and further applications, if needed&lt;br /&gt;
* Restore the saved configurations and data (see [[ Reference10:Concept_Linux_Application_Platform#Restore_configuration_files.2Fdata | Concept Linux Application Platform]])&lt;br /&gt;
* Copy your webdav files to the new webdav folder&lt;br /&gt;
* Reconfigure relay hosts under Administration-&amp;gt;Relay Hosts (formerly known as SMTP Relay)&lt;br /&gt;
&lt;br /&gt;
=== Reporting Replication ===&lt;br /&gt;
* Perform the above steps for the standby server too&lt;br /&gt;
* disable replication on master and standby afterwards!&lt;br /&gt;
* reconfigure replication on master and standby&lt;br /&gt;
&lt;br /&gt;
=== Upgrading from beta/rc? ===&lt;br /&gt;
Sorry, you have to perform the steps from above too! And you can&#039;t restore faxserver/exchange configuration/data files. You&#039;ll have to configure the servers again!&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
=== myPBX ===&lt;br /&gt;
Mixed V9 V10 myPBX chat conversations (as may occur when a large multi-slave site is upgraded step by step) are not supported.&lt;br /&gt;
&lt;br /&gt;
myPBX needs a license in v10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Versions / hotfixes ===&lt;br /&gt;
We strongly recommend not to omit a version during a upgrade&lt;br /&gt;
&lt;br /&gt;
I.e. Don&#039;t upgrade from v7 directly to V9 or V10&lt;br /&gt;
&lt;br /&gt;
Upgrade only step by step to the next versions highest hotfix. &lt;br /&gt;
&lt;br /&gt;
V7 (latest hotfix)  -&amp;gt; v8 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v8 (latest hotfix) -&amp;gt; v9 (latest hotfix), &lt;br /&gt;
&lt;br /&gt;
v9 (latest hotfix) -&amp;gt; v10 (latest hotfix)&lt;br /&gt;
&lt;br /&gt;
=== Old Phone Models ===&lt;br /&gt;
Some of the older phone models (namely IP110, IP150, IP200A and IP240) are not capable of running the complete V10 firmware due to memory restrictions.  There are a few firmware versions with limited feature set available which still run on those models:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FW-name &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Display* &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;SIP&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;H.323&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;PPP&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Video &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Note &#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| ipxxx&lt;br /&gt;
|&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| no SIP&lt;br /&gt;
|-&lt;br /&gt;
| ipxxx-sip&lt;br /&gt;
| ps&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| no H.323&lt;br /&gt;
|-&lt;br /&gt;
| ipxxx-no-ppp&lt;br /&gt;
| hs&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| no PPP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xxx&#039;&#039; stands for the phone model (110, 150, 200A, 240).&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;*&#039;&#039; Abbreviation displayed in the &#039;&#039;General/Info&#039;&#039; screen next to the version-number&lt;br /&gt;
&lt;br /&gt;
So if you do not need SIP on the phones, you can still use the normal firmware file (e.g. &#039;&#039;ip110.bin&#039;&#039;).  However, if you need SIP, you need to decide on which feature to drop and use the respective firmware file variation. This may have some effect on your update scripts.&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;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords:  --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:EEE_Energy_Efficient_Ethernet&amp;diff=34456</id>
		<title>Howto:EEE Energy Efficient Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:EEE_Energy_Efficient_Ethernet&amp;diff=34456"/>
		<updated>2014-07-16T14:29:00Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ethernet link goes occasionally down when using internal switch of phones.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all innovaphone phones with internal switch&lt;br /&gt;
* V9 hotfix 33 and V10 SR6 and above (option in webgui to disable EEE)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: eee, link, down, nic, eth, phone, ethernet, switch, thin, client, terminal, server, thin client, citrix, disconnect --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
To save power, all innovaphone phones have EEE enabled by default .&lt;br /&gt;
&lt;br /&gt;
If supported by the switch, this will reduce energy consumption when there is no network traffic. Normally, you will notice no difference in your daily work, neither on the phone nor on a device (e.g. PC) connected to the phone&#039;s internal switch port. &lt;br /&gt;
&lt;br /&gt;
However, some switches do not support EEE properly. In such cases, you will notice spurious &#039;&#039;link down&#039;&#039; messages (e.g. in the windows &#039;&#039;network adapter status bubble&#039;&#039;).  Also, some applications such as &#039;&#039;terminal server clients&#039;&#039; may drop their server connection due to the &#039;&#039;link down&#039;&#039; event.  &lt;br /&gt;
&lt;br /&gt;
It is possible to disable EEE on the phone thus:&lt;br /&gt;
&lt;br /&gt;
[[Image:eee_disabled.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:EEE_Energy_Efficient_Ethernet&amp;diff=34453</id>
		<title>Howto:EEE Energy Efficient Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:EEE_Energy_Efficient_Ethernet&amp;diff=34453"/>
		<updated>2014-07-16T14:18:19Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ethernet link goes occasionally down when using internal switch of phones.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all innovaphone phones with internal switch&lt;br /&gt;
&lt;br /&gt;
* V9 and above&lt;br /&gt;
&lt;br /&gt;
* V9 hotfix 33 and V10 SR6 and above (option in webgui to disable EEE)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: eee, link, down, nic, eth, phone, ethernet, switch, thin, client, terminal, server --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
To save power all innovaphone phones have EEE per default enabled.&lt;br /&gt;
&lt;br /&gt;
Usually you notice nothing in your daily work. Also if you use the internal switch of the phone.&lt;br /&gt;
&lt;br /&gt;
With one exception. Thin Client Users can loose there connection to the terminal server.&lt;br /&gt;
For this case we implement from V9 hotfix 33 and V10 SR 6 an option to disable EEE - Energy Efficient Ethernet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eee_disabled.png]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:EEE_Energy_Efficient_Ethernet&amp;diff=34452</id>
		<title>Howto:EEE Energy Efficient Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:EEE_Energy_Efficient_Ethernet&amp;diff=34452"/>
		<updated>2014-07-16T14:16:54Z</updated>

		<summary type="html">&lt;p&gt;Tle: New page: Ethernet link goes occasionally down when using internal switch of phones.  == Applies To == This information applies to  * all innovaphone phones with internal switch  * V9 and above  * V...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ethernet link goes occasionally down when using internal switch of phones.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all innovaphone phones with internal switch&lt;br /&gt;
&lt;br /&gt;
* V9 and above&lt;br /&gt;
&lt;br /&gt;
* V9 hotfix 33 and V10 SR6 and above (option in webgui to disable EEE)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: eee, link, down, nic, eth, phone, ethernet, switch, thin, client, terminal, server --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
To save power all innovaphone phones have EEE per default enabled&lt;br /&gt;
Usually you notice nothing in your daily work. Also if you use the internal switch of the phone.&lt;br /&gt;
&lt;br /&gt;
With one exception. Thin Client Users can loose there connection to the terminal server.&lt;br /&gt;
For this case we implement from V9 hotfix 33 and V10 SR 6 an option to disable EEE - Energy Efficient Ethernet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eee_disabled.png]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Eee_disabled.png&amp;diff=34451</id>
		<title>File:Eee disabled.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Eee_disabled.png&amp;diff=34451"/>
		<updated>2014-07-16T14:16:01Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Innovaphone_conferencing&amp;diff=34025</id>
		<title>Howto:Innovaphone conferencing</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Innovaphone_conferencing&amp;diff=34025"/>
		<updated>2014-06-12T14:33:10Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;innovaphone conferencing is a nice sample solution to enhance the conference bridge available on the innovaphone gateways (so-called “BC Conference”).&lt;br /&gt;
&lt;br /&gt;
Installing innovaphone conferencing you will have the following conferencing features:&lt;br /&gt;
&lt;br /&gt;
* Users are announced with name when joining and leaving the conference room. &lt;br /&gt;
* The conference room can be labelled; before entering in the room the user will hear the name of the conference. &lt;br /&gt;
* Before entering in the room the names of the member’s already in are prompted.&lt;br /&gt;
* innovaphone conferencing stores all recorded names for further access; you have to record your name just one time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
innovaphone PBX with DSP channels for conferencing&lt;br /&gt;
developed with V9 build 90267&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: conference, conferencing, Konferenz, conferenza, audio,  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
innovaphone conferencing  allows you to setup a very comfortable audio conference.&lt;br /&gt;
 &lt;br /&gt;
If a number calls the innovaphone conferencing for the first time the system asks, after playing the welcome message, to record a name. &lt;br /&gt;
&lt;br /&gt;
The recording can be done immediately, just following the voice menu (“Please record your name, start recording with star and stop with any key”). After recording, the recorded name is played again. The record can be modify in any moment and anyway before entering in the conference room. &lt;br /&gt;
&lt;br /&gt;
If the same number calls the innovaphone conferencing system again, the system will not ask to record the name but welcome the caller, with the previously recorded name. So once recorded, innovaphone conferencing stores the names for the calling number. &lt;br /&gt;
&lt;br /&gt;
If the conference room is still empty, the system asks you to label the conference room. This is done via a voice menu invitation to record the name of the conference, even this recording can be modified later on. However if the conference room is already named, the caller is not invited automatically to label the room but the name of the conference if played. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you don’t like give a name to a conference room just press quickly “*#” when the recording of the name is requested (practically you record nothing and therefore the system will prompt “… in the conference, press star to join ….”).&lt;br /&gt;
&lt;br /&gt;
The following example shows a call to the innovaphone conferencing, where the NAME and the LABEL was already recorded:&lt;br /&gt;
&lt;br /&gt;
“innovaphone conferencing, welcome MARTIN STRELLER to SALES conference room”&lt;br /&gt;
&lt;br /&gt;
After this introduction the main access menu is played:&lt;br /&gt;
&lt;br /&gt;
“Press star to join the conference room, press one to record your name or press two to label the conference room”&lt;br /&gt;
&lt;br /&gt;
From this menu the caller can record again his name or label the conference room. The star-key allows the access to the conference room. &lt;br /&gt;
If the conference unit is not reachable (configuration or network problems) or no conference channel is available (all available DSPs are used), a warning message is played.&lt;br /&gt;
&lt;br /&gt;
If the caller is the first member, he will hear “You are the first conference member”. If there are already members in the conference room, he will hear their names.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
“In the conference room you will find ANDREAS FINK, KLAUS WALLNÖFER”&lt;br /&gt;
&lt;br /&gt;
After playing the list of the conference members, the caller access the conference room and all the members hear a warning ton (“beep”) followed by the name of the new entry.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
“MARTIN STRELLER joined the conference”&lt;br /&gt;
&lt;br /&gt;
If a conference member exits from the conference room, the remaining members will hear a warning tone followed by the name of who has left.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
“ANDREAS FINK leaves the conference”&lt;br /&gt;
&lt;br /&gt;
When the last user leaves the conference room, the room label will be automatically cleared.&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
Download the xml and wave files, copy them on a directory of your PC and unzip the folder.&lt;br /&gt;
Create a directory on the compact flash (CF) card and copy all files in. Now you have to create or certify the following empty sub directories exist:&lt;br /&gt;
“names”&lt;br /&gt;
“member”&lt;br /&gt;
“leave”&lt;br /&gt;
“join”&lt;br /&gt;
&lt;br /&gt;
Once done you will see the following directory structure (show in the Datafreeway explorer):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:IC05.png]]&lt;br /&gt;
&lt;br /&gt;
The remaining setup has to be done in the PBX.&lt;br /&gt;
&lt;br /&gt;
First configure a BC Conference object. Leave all items to their default settings, except the one specified. Basically the BC Conference object doesn’t need a number because the access to it will be trough a XML script and names.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:IC03.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Therefore it is important that the &#039;&#039;Name&#039;&#039; of the BC conference object is “innoconf”, the &#039;&#039;Description&#039;&#039; and &#039;&#039;Long name&#039;&#039; are not important. &lt;br /&gt;
The &#039;&#039;Display Name&#039;&#039; should be nice, because if the user is in the conference room, he will see this name on the display (while he is in the menu “outside” the conference room, he will see the display name of the XML, so even from a display point of view the user knows exactly “where he is”). &lt;br /&gt;
&lt;br /&gt;
Please note the required setup in the third tab:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:bc-conference-config.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now assign in the main PBX menu a new group to the the BC conference object and flag the group as “active”. In the following example we call the group “CallBC”:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:IC06.png]]&lt;br /&gt;
&lt;br /&gt;
Now you have to create two voicemail objects. No voicemail license is required for this.&lt;br /&gt;
Create the first one and name it as you like. No number is required since this XML is never shown anywhere. &lt;br /&gt;
Important: Set the codec option as shown in the following example to $_pbxcoder=g729. &lt;br /&gt;
In our example, we created a directory called “innoConf” on the CF card. The XML file name is “innoconfB.xml”: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:IC01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now put the voicemail object executing the “innoconfB.xml” file in the same group than the BC conference object, but NOT as an active member.&lt;br /&gt;
&lt;br /&gt;
Last step: create the second voicemail object. The number of that object is the “innovaphone conferencing” number and the &#039;&#039;Display Name&#039;&#039; of this object will be shown to the user calling the innovaphone conferencing. A good example is “conference access” or a similar name. &lt;br /&gt;
Important: Add the flag “$_pbxfwd=true” to the URL of the voicemail object. The name of the xml file is “innoconfA.xml” (in the example in the directory “innoConf”).&lt;br /&gt;
&lt;br /&gt;
[[Image:IC02.png]]&lt;br /&gt;
&lt;br /&gt;
===Static conference room name===&lt;br /&gt;
Some time or some customer has more or less always the same conference name and not interested in labeling (or “naming”) a conference room. If this is your case here is how avoid that in each new conference the name has to be record again. To activate that option you have to edit the file named innconfB.xml. To do that copy the file first from the CF to the PC, modify it, and then copy it back again (in other words: it is not a good idea edit directly on the CF). Open the file with the editor and you will see something like that:&lt;br /&gt;
&lt;br /&gt;
[[Image:NoConfName.png]]&lt;br /&gt;
&lt;br /&gt;
If you delete the indicated line the name of the conference room will not be cleared if the last user exit the conference unit and therefore if the conference is called again, the name of the conference is still there and the user will not here “please label your conference” but go directly to the main menu (where he can still doing that). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Localization===&lt;br /&gt;
The innovaphone conferencing is delivered with professional prompts recorded by [[Howto:Voice_Prompts_-_GM_Voices%2C_Inc._-_3rd_Party_Product|the voice recording company GM Voices]].&lt;br /&gt;
&lt;br /&gt;
The prompts are provided in 11 languages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your preferred language is not available, it is very simple to create prompts in other languages. You have just to translate the following prompts:&lt;br /&gt;
&lt;br /&gt;
Filename (containing prompts in English)&lt;br /&gt;
&lt;br /&gt;
Welcome (&amp;quot;innovaphone conferencing&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
ConfName (&amp;quot;Please label your conference room&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
RecStart (&amp;quot;Start recording with star and stop with any key&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
To (&amp;quot;to&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
UserWelcome (&amp;quot;welcome&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Conference (&amp;quot;conference room&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
MyName (&amp;quot;Please record your name&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
FirstUser (&amp;quot;You are the first conference member&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Join (&amp;quot;joined the conference&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Leave (&amp;quot;leaves the conference&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
InTheConf (&amp;quot;in the conference room you will find&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
MMenu (&amp;quot;press star to join the conference room, press one to record your name or press two to label the conference room&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
noconf (&amp;quot;There is no conference channel available&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After recording, do the post processing (see relative wiki articles) and convert the file format to 8 kHz, 16 bit mono. Finally, convert the wav files to the .g729 and .g711A format (using the [[Howto:Convert_wave_files_to_G7xxx_with_softcod | softcod utility]] or by using the [[Howto:How_to_convert_wave_files_in_to_G7xx_coder_files_for_the_HTTP_interface#V6_SR1_note | conversion function of the CF card]]).&lt;br /&gt;
One hint: When the conference room is labelled, the engine will prompt “to” + “conference room” + the name.&lt;br /&gt;
&lt;br /&gt;
===Multiple conference rooms===&lt;br /&gt;
&lt;br /&gt;
Innovaphone conferencing is done to give the customer one enhanced conference room on one system. If a customer asks for parallel and independent innovaphone conferencing rooms on the same system, please follow this instructions.&lt;br /&gt;
First you have to configure as many BC conferences objects in the PBX, as separate conference rooms by the customer. Each BC conferences object has its own name and groups. Then create for each room a different directory on the compact flash card. Next create the required pairs of voicemail objects. You have to edit the “innoconfA.xml” file (use a simple text editor). We recommend editing the file on your PC and then copying it on the CF card. Finally, ou have to modify the name of the BC conference object:&lt;br /&gt;
&lt;br /&gt;
[[Image:IC07.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If for example you named the second BC conference object “mySecondOne” you have to modify the line from:&lt;br /&gt;
&amp;lt;pbx-fwd name=&amp;quot; innoconf &amp;quot; barge-in=&amp;quot;false&amp;quot; out-cause=&amp;quot;$cause&amp;quot;/&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;pbx-fwd name=&amp;quot; mySecondOne &amp;quot; barge-in=&amp;quot;false&amp;quot; out-cause=&amp;quot;$cause&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
* No support at the moment for unknown callers (without number - CLIR activated). &lt;br /&gt;
* If in the same time two user access the innovaphone conferencing system and the room is empty - both will hear “You are the first conference member”. However once in the conference, both names will be announced.&lt;br /&gt;
*There is a small delay between the real enter and exit of a user and the announcement (between 0-4 seconds). This is done to avoid too much load for CF card and CPU.&lt;br /&gt;
* On multiple conference rooms on the same system, for each room you have to record your name again.&lt;br /&gt;
&lt;br /&gt;
*When a member leave the conference room, and the remaining members may not hear the warning tone followed by the name of who has left. This issue had been fixed already, so use the latest version of the XML script (see [[#Download]]).&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:Creating_fine_announcements_and_music_on_hold|Howto:Creating fine announcements and music on_hold]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Installing_the_voicemail/music_on_hold_on_a_compact_flash_card|Installing the voicemail/music on hold on a compact flash card]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[http://download.innovaphone.com/ice/wiki-src#innoconf http://download.innovaphone.com/ice/wiki-src#innoconf] - download the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--*[[Main_Page|wiki-innovaphone]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:General_information_for_compact_flash_cards&amp;diff=33361</id>
		<title>Howto:General information for compact flash cards</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:General_information_for_compact_flash_cards&amp;diff=33361"/>
		<updated>2014-04-16T15:23:55Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* IP 6000, V6 SR1&lt;br /&gt;
* IP 800, V6 SR1&lt;br /&gt;
* IP 302/305, V6 SR1&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
; Which size should the card have? : The card should have at least 64 MB, because it uses FAT32. Cards with up to 32GB were tested successfully.&lt;br /&gt;
&lt;br /&gt;
; Is there a formula to calculate the space for one mail box user? : Assuming we have G.711, a voice mail (120 seconds maximum) has 960 kByte, because 8 kByte/s are used and assuming we have G.729, a voice mail has 120 kByte, because 1 kByte/s is used.&lt;br /&gt;
So it&#039;s now on you to estimate the amount of voice mails one of your users will have and how many voice mail users you have.&lt;br /&gt;
&lt;br /&gt;
; Is there a recommended card speed? : Yes, especially if you run Linux Application Platform on IPxx10, we recommend a CF card with at least 90 MB/s, e.g. SanDisk Extreme PRO. For all other purposes on Gateway without Linux support, a SanDisk Ultra with 30MB/s will do.&lt;br /&gt;
&lt;br /&gt;
; Are there recommended manufacturers/cards? : Yes. We recommend to use SanDisk cards, because we made the best experiences with them. But in general, each card should be supported. For SanDisk cards, please use Extreme or Extreme PRO.&lt;br /&gt;
&lt;br /&gt;
; Is it possible to put MOH on the compact flash card? : Yes, this is possible.&lt;br /&gt;
&lt;br /&gt;
; How about wear leveling on the Compact Flash cards? What are you doing in that regard? : Wear leveling is done by compact flash card hardware. Please keep in mind: the more free space do you have on the card the better wear leveling works. SanDisk cards are known to have very good wear leveling performance.&lt;br /&gt;
&lt;br /&gt;
; Are there further requirements when the LinuxAP is used?&lt;br /&gt;
Yes, see [[Reference10:Concept_Linux_Application_Platform#IPxx10_Gateways | CF-Card Requirements for LinuxAP ]]&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
; Old gateways : Older revisions of the IP6000 have problems with certain CF card manufacturers. Please use the recommended Sandisk cards here. Revisions since hardware 300 do not have this issue any more.&lt;br /&gt;
; Missing DMA support: Old CF Cards does not support DMA, the IP6000/IP800 did not need the DMA. If you use an IP6010 than you need CF Cards with DMA. When you use an IP6010 with old CF Cards, and the card is not working please start an trace than you see &amp;lt;code&amp;gt;NO DMA mode Supported NO Valid CF-Card&amp;lt;/code&amp;gt; If you see this message in the trace please replace the CF card.&lt;br /&gt;
&lt;br /&gt;
; CF-Cards and ESD : CF cards have typically a metal coated surface. It&#039;s possible that electrostatic discharge (ESD) flow through this interface and disturb a device. In general compact flash cards are sensitive to ESD and can be damaged. To prevent ESD damage, you can use a ESD wrist or ankle strap.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* [[Howto:Installing_the_voicemail/music_on_hold_on_a_compact_flash_card | Installing the voicemail/music on hold on a compact flash card]]&lt;br /&gt;
* [[Reference10:Concept_Linux_Application_Platform#IPxx10_Gateways | CF-Card Requirements for LinuxAP ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Interfaces/FXO/Signaling&amp;diff=33212</id>
		<title>Reference10:Interfaces/FXO/Signaling</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Interfaces/FXO/Signaling&amp;diff=33212"/>
		<updated>2014-04-07T13:33:12Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords:CLIP, IP38, ip38 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The call &#039;&#039;&#039;signalling&#039;&#039;&#039; settings of the analogue FXO interfaces can be made here:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Disable:&#039;&#039;&#039;&lt;br /&gt;
| Disables the relevant analogue FXO interface.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Speech Bearer Capability:&#039;&#039;&#039;&lt;br /&gt;
|Calls on the relevant interface are transmitted with Audio Bearer Capability as standard.&amp;lt;br&amp;gt;A checked check box transmits calls from the relevant interface with Speech Bearer Capability. This only makes sense if only telephones are operated on the relevant interface (no fax machine or modem).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Central Office Tone detection:&#039;&#039;&#039;&lt;br /&gt;
|When the FXO initiates a call, normally a audible tone is expected to be received from the central office/local PABX side. The tone detection works independantly from any country setting. When the expected tone cannot be detected within 2.6sec, then the call will be cancelled. If this tone detection is disabled, the FXO will continue dialing DTMF tones of the configured number, with a fixed delay of 800ms after hook-off.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Alert Tone detection:&#039;&#039;&#039;&lt;br /&gt;
|After the configured number has been dialed, the FXO normally waits for a audible response from the dialed side that can be identified as an alerting tone. The proper detection and analysis of this tone takes up to a few seconds. If you additionally enable the &#039;&#039;&#039;Assume alert&#039;&#039;&#039; option, the detection is simplified and therefore reduced to a simple tone detection. This means that an alert will be regarded as detected na matter what tone or rhythm is provided. This is much faster than the exact analysis and normally has no negative effect.&amp;lt;br&amp;gt;When an alert is detected, the voip&amp;gt;-FXO-&amp;gt;peer connection is switched through (connected), so that the voip initiator of the call now can hear the alerting tone from peer side.&amp;lt;br&amp;gt;Disabling &#039;&#039;&#039;Alert Tone detection&#039;&#039;&#039; will directly connect the call after dialing is complete, which is much faster.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Assume Alert:&#039;&#039;&#039;&lt;br /&gt;
|see previous topic for details. &#039;&#039;&#039;Assume Alert&#039;&#039;&#039; has no effect when &#039;&#039;&#039;Alert Tone detection&#039;&#039;&#039; is disabled.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Drop line on polarity reversal:&#039;&#039;&#039;&lt;br /&gt;
|When the FXO port detects a reversed polarity, the current connection will be terminated. Polarity reversals must must be longer than 100ms to be detecable.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CallerID 1 standard:&#039;&#039;&#039;&lt;br /&gt;
|Selects the standard in which CallerID (also known as &#039;&#039;&#039;CLIP&#039;&#039;&#039;) is detected and decoded. What is of interest here is the caller&#039;s phone number in case of an incoming/ringing call. This number is fed into the resulting voip call as the CGPN (Calling Party Number).&amp;lt;br&amp;gt;Note that for this reason the FXO port has to be registerd to the PBX as &#039;&#039;&#039;gateway&#039;&#039;&#039;, and has to be configured with &#039;&#039;&#039;Force enblock&#039;&#039;&#039; in the &#039;&#039;Gateway-&amp;gt;Routes&#039;&#039; Menu. You can change the value of 4000ms to shorter values, but the time must be enough to collect the digits of the longest possible number. This heavily depends on the typical number length - estimate 135ms for each DTMF digit + 1300ms overhead + duration of the first ring pulse. 4000ms will cover 18 DTMF digits if the first ring pulse is very short. Note that for most countries 2 invisible digits are added.&lt;br /&gt;
This delay time is normally used if no CallerID can be detected at all. However, if FSK or DTMF digits are detected, this time will normally reduce drastically. The voip call then starts with this short delay in which the CallerID/CLIP information is received.&amp;lt;br&amp;gt;&lt;br /&gt;
The FSK standards can contain additional information like &#039;&#039;Called Line Id&#039;&#039; or &#039;&#039;Date/Time&#039;&#039; information. These additional informations will be dropped. DTMF callerID only contains the &#039;Calling Line Id&#039;.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Interfaces/FXO/Signaling&amp;diff=33211</id>
		<title>Reference10:Interfaces/FXO/Signaling</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Interfaces/FXO/Signaling&amp;diff=33211"/>
		<updated>2014-04-07T13:30:09Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords:CLIP, IP38, ip38--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The call &#039;&#039;&#039;signalling&#039;&#039;&#039; settings of the analogue FXO interfaces can be made here:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Disable:&#039;&#039;&#039;&lt;br /&gt;
| Disables the relevant analogue FXO interface.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Speech Bearer Capability:&#039;&#039;&#039;&lt;br /&gt;
|Calls on the relevant interface are transmitted with Audio Bearer Capability as standard.&amp;lt;br&amp;gt;A checked check box transmits calls from the relevant interface with Speech Bearer Capability. This only makes sense if only telephones are operated on the relevant interface (no fax machine or modem).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Central Office Tone detection:&#039;&#039;&#039;&lt;br /&gt;
|When the FXO initiates a call, normally a audible tone is expected to be received from the central office/local PABX side. The tone detection works independantly from any country setting. When the expected tone cannot be detected within 2.6sec, then the call will be cancelled. If this tone detection is disabled, the FXO will continue dialing DTMF tones of the configured number, with a fixed delay of 800ms after hook-off.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Alert Tone detection:&#039;&#039;&#039;&lt;br /&gt;
|After the configured number has been dialed, the FXO normally waits for a audible response from the dialed side that can be identified as an alerting tone. The proper detection and analysis of this tone takes up to a few seconds. If you additionally enable the &#039;&#039;&#039;Assume alert&#039;&#039;&#039; option, the detection is simplified and therefore reduced to a simple tone detection. This means that an alert will be regarded as detected na matter what tone or rhythm is provided. This is much faster than the exact analysis and normally has no negative effect.&amp;lt;br&amp;gt;When an alert is detected, the voip&amp;gt;-FXO-&amp;gt;peer connection is switched through (connected), so that the voip initiator of the call now can hear the alerting tone from peer side.&amp;lt;br&amp;gt;Disabling &#039;&#039;&#039;Alert Tone detection&#039;&#039;&#039; will directly connect the call after dialing is complete, which is much faster.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Assume Alert:&#039;&#039;&#039;&lt;br /&gt;
|see previous topic for details. &#039;&#039;&#039;Assume Alert&#039;&#039;&#039; has no effect when &#039;&#039;&#039;Alert Tone detection&#039;&#039;&#039; is disabled.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Drop line on polarity reversal:&#039;&#039;&#039;&lt;br /&gt;
|When the FXO port detects a reversed polarity, the current connection will be terminated. Polarity reversals must must be longer than 100ms to be detecable.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CallerID 1 standard:&#039;&#039;&#039;&lt;br /&gt;
|Selects the standard in which CallerID (also known as &#039;&#039;&#039;CLIP&#039;&#039;&#039;) is detected and decoded. What is of interest here is the caller&#039;s phone number in case of an incoming/ringing call. This number is fed into the resulting voip call as the CGPN (Calling Party Number).&amp;lt;br&amp;gt;Note that for this reason the FXO port has to be registerd to the PBX as &#039;&#039;&#039;gateway&#039;&#039;&#039;, and has to be configured with &#039;&#039;&#039;Force enblock&#039;&#039;&#039; in the &#039;&#039;Gateway-&amp;gt;Routes&#039;&#039; Menu. You can change the value of 4000ms to shorter values, but the time must be enough to collect the digits of the longest possible number. This heavily depends on the typical number length - estimate 135ms for each DTMF digit + 1300ms overhead + duration of the first ring pulse. 4000ms will cover 18 DTMF digits if the first ring pulse is very short. Note that for most countries 2 invisible digits are added.&lt;br /&gt;
This delay time is normally used if no CallerID can be detected at all. However, if FSK or DTMF digits are detected, this time will normally reduce drastically. The voip call then starts with this short delay in which the CallerID/CLIP information is received.&amp;lt;br&amp;gt;&lt;br /&gt;
The FSK standards can contain additional information like &#039;&#039;Called Line Id&#039;&#039; or &#039;&#039;Date/Time&#039;&#039; information. These additional informations will be dropped. DTMF callerID only contains the &#039;Calling Line Id&#039;.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Operator&amp;diff=33024</id>
		<title>Reference9:Concept Operator</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Operator&amp;diff=33024"/>
		<updated>2014-03-20T14:10:50Z</updated>

		<summary type="html">&lt;p&gt;Tle: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: operator, vermittlungsplatz, vermittlung, cbc, switchboard --&amp;gt;&lt;br /&gt;
[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Concept|{{PAGENAME}}]]&lt;br /&gt;
=Applies To=&lt;br /&gt;
This information applies to&lt;br /&gt;
* innovaphone Operator V9&lt;br /&gt;
&lt;br /&gt;
The article&#039;s intent is to serve as the Operator 9 information center. The addressed audience is administrators, partners, resellers.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
*Windows 7, Windows Vista,  Windows XP may work&lt;br /&gt;
*Windows Terminal Server&lt;br /&gt;
*1.5 GHz CPU (32-bit, or 64-bit), Dual-Core is recommended&lt;br /&gt;
*2 GB of RAM&lt;br /&gt;
*DirectX 9 capable graphics adapter&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
The innovaphone Operator 9 succeeds the innovaphone Operator 8. &lt;br /&gt;
*A busy lamp field(busy field, BLF) is the main addendum to the application. &lt;br /&gt;
**Condensed user information: Display Name, Number, PBX&lt;br /&gt;
**An entry&#039;s context menu allows to reveal detailed user informations for an entry&lt;br /&gt;
**Colored User status: available(registered &amp;amp; not engaged in a call), engaged in a call, not registered&lt;br /&gt;
**Symbolized presence status: presence activity, presence note(as tooltip)&lt;br /&gt;
**Display options for the BLF window &lt;br /&gt;
***within the main window &lt;br /&gt;
***within a separate window &lt;br /&gt;
***within a separate window on a 2nd monitor&lt;br /&gt;
**Two different entry layouts can be selected in three different sizes(small, medium, large)&lt;br /&gt;
**Freely placeable labels&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
*Simplified usage&lt;br /&gt;
**Drag&amp;amp;Drop or keyboard-only usage possible&lt;br /&gt;
**main functionalities (accept call, initiate call) just with ENTER&lt;br /&gt;
**direct dialing without search / just use number&lt;br /&gt;
**Blind transfer eased - just use &#039;+&#039;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
*Search&lt;br /&gt;
**Full text search&lt;br /&gt;
***Fast, now the application default&lt;br /&gt;
***Targets large-scale installations&lt;br /&gt;
***Indexing: Long Name, Name, Number, Groups, PBX/Location&lt;br /&gt;
**Ldap search&lt;br /&gt;
***Support for Active Directory&#039;s attributes &amp;quot;department&amp;quot;, &amp;quot;description&amp;quot;&lt;br /&gt;
***&amp;quot;department&amp;quot; offers button to search for alternative destinations within a department&lt;br /&gt;
**Pbx search&lt;br /&gt;
***&amp;quot;group&amp;quot; offers button to search for alternative destinations within a group&lt;br /&gt;
***Email integration, send notification on missed calls&lt;br /&gt;
**Individual PBX can be excluded/barred from the operator&#039;s search view&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
*Call Switching&lt;br /&gt;
**Symbol indicating external calls&lt;br /&gt;
**Park+Wait functionality for blind-transferred calls towards busy internal destinations.&lt;br /&gt;
**Allows for operator procedure: &#039;&#039;The extension is busy. Do you want to wait?..&#039;&#039;&lt;br /&gt;
**Blinking indicator for parked and muted calls&lt;br /&gt;
**Outgoing calls can be placed without paying attention to call diversions&lt;br /&gt;
**Call diversions can be manipulated from operator (if access right is granted)&lt;br /&gt;
**Call journal with simplified and detailed representation of any calls (successful, missed, etc)&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
*Miscellaneous&lt;br /&gt;
**Alternative layout&lt;br /&gt;
**Nightswitch supported in GUI&lt;br /&gt;
**Secured access (HTTPS/TLS)&lt;br /&gt;
**Call context for currently active incoming call.&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
* The software can be downloaded from the &#039;&#039;apps&#039;&#039; section: http://http://download.innovaphone.com/ice/9.00/#apps&lt;br /&gt;
&lt;br /&gt;
=Application History=&lt;br /&gt;
The hotfix history can be found here [[Support:DVL-Roadmap_Operator_V9 | Support:DVL-Roadmap Operator V9]].&lt;br /&gt;
&lt;br /&gt;
=Full Text Index=&lt;br /&gt;
One shortcoming of the predecessor application was the confinement to search for PBX users either &#039;&#039;by name&#039;&#039; or &#039;&#039;by long name&#039;&#039; only. The Operator 9 therefore offers the new search capability &#039;&#039;by full text index&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The full text index was implemented application-local. That is, that index is not going to be maintained by the PBX, but by the Operator application itself in-RAM. Thus, making full text queries lightning fast.&lt;br /&gt;
&lt;br /&gt;
The full text indexed is supposed to scale well within large installations. In contrast the busy lamp field is expected to be operable with up to ~300 pbx users.&lt;br /&gt;
&lt;br /&gt;
Administrators must keep control of what is going to be fed into the index. This task must be accomplished by configuration of regular group memberships within a PBX. As a quick exemplary rule of thumb: &lt;br /&gt;
*Make the operator&#039;s PBX object an active member of a group e.g. &amp;quot;soap&amp;quot;. Make all other user objects that shall be indexed (non-active) members of the same group &amp;quot;soap&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is indexed?&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
*Name&lt;br /&gt;
*Long Name&lt;br /&gt;
*Display Name&lt;br /&gt;
*Number&lt;br /&gt;
*Node number + number&lt;br /&gt;
*Groups&lt;br /&gt;
*PBX&lt;br /&gt;
&lt;br /&gt;
=Busy-Field=&lt;br /&gt;
&lt;br /&gt;
==Layout==&lt;br /&gt;
A screenshot featuring some numbered screen elements, explains the BLF&#039;s makeup.&lt;br /&gt;
[[Image:op9-bf-overview.jpg|center|thumb|200px|Overview, Operator 9]]&lt;br /&gt;
*1)BLF entry&lt;br /&gt;
*2)BLF label&lt;br /&gt;
*3)Thumb for menu panel&lt;br /&gt;
*4)Menu panel(slid out)&lt;br /&gt;
*5)Selector for BLF display as separate window or within main window&lt;br /&gt;
*6)Selector for the layout of BLF entries&lt;br /&gt;
*7)Erase button for selected BLF entries/labels&lt;br /&gt;
*8)Button to initially show the BLF&lt;br /&gt;
*9)Example of a BLF entry with a presence symbol&lt;br /&gt;
&lt;br /&gt;
==Arranging Entries==&lt;br /&gt;
&lt;br /&gt;
*Create a free line&lt;br /&gt;
**Select 2x entries&lt;br /&gt;
**Drag the selected entries onto some other entries&lt;br /&gt;
**All entries within the target line and all lines below are going to be moved downwards.&lt;br /&gt;
[[Image:op9-bf-edit-freeline.jpg|center|thumb|200px|Create a free line]]&lt;br /&gt;
&lt;br /&gt;
*Adding a label&lt;br /&gt;
**Right-Click into a free location&lt;br /&gt;
**A context menu appears - select &#039;&#039;Add Label&#039;&#039;&lt;br /&gt;
**A label is going to be placed.&lt;br /&gt;
**Left-Click into the label, in order to edit the label&#039;s text.&lt;br /&gt;
[[Image:Op9-bf-add-label.jpg|center|thumb|200px|Adding a label]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Changing the position of a single entry&lt;br /&gt;
**Left-Click the entry and keep the left mouse button pressed.&lt;br /&gt;
**Drag the entry into its new position.&lt;br /&gt;
**Drop the entry by releasing the mouse button.&lt;br /&gt;
In case of an entry already occupying the new position, the two entries are going to exchange their positions.&lt;br /&gt;
[[Image:op9-bf-xchng-entries.jpg|center|thumb|200px|Changing the position of a single entry]]&lt;br /&gt;
&lt;br /&gt;
*Changing the position of multiple entries&lt;br /&gt;
**Left-Click into a free position and keep the left mouse button pressed.&lt;br /&gt;
**Open up a selection rectangle. Entries intersecting with the rectangle are going to be selected.&lt;br /&gt;
**Release the left mouse button.&lt;br /&gt;
**Left-Click onto one of the selected entries and keep the left mouse button pressed.&lt;br /&gt;
**Drag the entries into their new position.&lt;br /&gt;
**Drop the entries by releasing the mouse button.&lt;br /&gt;
In case of one or more entries already occupying the new position, the entire lines containing those entries and the lines below are going to be moved downwards.&lt;br /&gt;
[[Image:Op9-bf-xchng-bulk.jpg|center|thumb|200px|Changing the position of multiple entries]]&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
This section hilights a few key concepts of the Operator configuration. A few prerequisites must be considered.&lt;br /&gt;
*The operator&#039;s phone must be configured, such that &#039;&#039;call waiting&#039;&#039; is enabled. This is important, because of situations whith more than one call being active at the phone. Some such scenarios may be obvious: operator user is engaged in a call while an internal caller is trying to directly call through to the operator&#039;s desk. Some such scenarios aren&#039;t obvious. For instance the operation to unpark a call may often coincide with a call just being signalled by a waiting queue towards the operator&#039;s phone.&lt;br /&gt;
*Within the PBX the value &#039;&#039;&#039;PBX/Configuration/Recall Timeout&#039;&#039;&#039; should be set to a value greater than 0 seconds. Otherwise the call list &#039;&#039;Transferred Calls&#039;&#039; will remain empty. &lt;br /&gt;
==General==&lt;br /&gt;
The application is going to establish at least two Soap sessions. One for the operator user&#039;s identity. And one for the query user&#039;s identity.&lt;br /&gt;
&lt;br /&gt;
The first session is needed in order to receive call informations for the operator user&#039;s phone. This session will be established only at the PBX configured under &#039;&#039;&#039;IP Address&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The second session is needed to receive user informations for all PBX user objects that shall be full text indexed. It is also needed for all PBX user objects that shall appear within the busy field. The Operator is going to establish this session type at every known PBX.&lt;br /&gt;
*&#039;&#039;&#039;Query User&#039;&#039;&#039; As a rule of thumb&lt;br /&gt;
**Create a user object &#039;&#039;_TAPI_&#039;&#039; (or &#039;&#039;SOAP&#039;&#039;) on all PBXs within the network of PBXs (if Slaves are replicated from a Master, just create this user at Master without assigning it to a PBX).&lt;br /&gt;
***The user &#039;&#039;_TAPI_&#039;&#039; must be an active member of a group &#039;&#039;tapi&#039;&#039;(or &#039;&#039;soap&#039;&#039;).&lt;br /&gt;
**All other users (also the ones at Slave PBXes) that shall be full text indexed must become a non-active member in the group &#039;&#039;tapi&#039;&#039;.&lt;br /&gt;
**In case of slave scenarios, the slavePBX object at Master itself needs to be part of that group.&lt;br /&gt;
&lt;br /&gt;
==WQ (Waiting Queue)==&lt;br /&gt;
A WQ teams-up with an operator&#039;s phone by a group membership.&lt;br /&gt;
*A waiting queue &#039;&#039;wq-reception&#039;&#039; may exist.&lt;br /&gt;
*The WQ is an active member of a group &#039;&#039;reception&#039;&#039;.&lt;br /&gt;
*The operator user is a non-active member of the group &#039;&#039;reception&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Calls for the WQ are from now on also signalled towards the operator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Nightswitch&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The nightswitch configuration is just a front-end for the PBX &#039;&#039;Boolean object&#039;&#039;. Its actual purpose is to provide a means for a diversion. A diversion that leads callers into an out-of-business-hour announcement. Here is the idea behind:&lt;br /&gt;
*A waiting queue &#039;&#039;wq-reception&#039;&#039; may exist and is configured under &#039;&#039;&#039;WQ&#039;&#039;&#039;.&lt;br /&gt;
*Enter the number (55 in this example) towards the out-of-business-hour announcement under &#039;&#039;&#039;Diversion&#039;&#039;&#039;. It may be the number of a dedicated voicemail object.&lt;br /&gt;
*Configure the time definitions for the regular business hours.&lt;br /&gt;
**1st: Start 9:00, End 17:00, Mon-Fri&lt;br /&gt;
**2nd: Start 0:00, End 0:00, Sat-Sun &lt;br /&gt;
**As Mode select Automatic &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: The automatic mode may be overridden by selecting &#039;&#039;Manual On&#039;&#039; or &#039;&#039;Manual Off&#039;&#039; as mode. &#039;&#039;Manual On&#039;&#039; causes the CFU (see below) to become active immediately and permanently.&lt;br /&gt;
&lt;br /&gt;
What happens behind the curtain is as follows:&lt;br /&gt;
*A new boolean object &#039;&#039;wq-reception-nightswitch&#039;&#039; will be created automatically by the Operator app&#039;.&lt;br /&gt;
*The boolean object is configured with the time definitions from above.&lt;br /&gt;
*A CFU is configured at the WQ &#039;&#039;wq-reception&#039;&#039;.&lt;br /&gt;
*The CFU will have the number 55 from above as destination.&lt;br /&gt;
*The CFU references the Boolean object &#039;&#039;wq-reception-nightswitch&#039;&#039; from above.&lt;br /&gt;
&lt;br /&gt;
The mode selector for the boolean object will be available for the user. Watch out for the WQ calls list.&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
===Configuration of the Phone&#039;s Conference Facility (Recording-/Greeting Function)===&lt;br /&gt;
Every innovaphone telephone offers a tiny conference function. Besides its apparent use, the conference function may be utilized to realize audio recording.&lt;br /&gt;
The corresponding configuration page can be found within the phone&#039;s web UI under &#039;&#039;Configuration/RegistrationX/Recording&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Within the context of the innovaphone Operator it may also be used to provide the means for a personal audio greeting. A greeting that is about to played right after an incoming call was connected. For each incoming call over the course of a working-day.&lt;br /&gt;
&lt;br /&gt;
Both scenarios require a voicemail script.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Only one of the two possibilities can be configured. Either the audio recording or the greeting function. The two cannot be used concurrently.&lt;br /&gt;
&lt;br /&gt;
The following two sub-sections are going to explain the required configuration steps for both scenarios.&lt;br /&gt;
&lt;br /&gt;
===Greeting Function===&lt;br /&gt;
A few assumptions are taken into consideration.&lt;br /&gt;
*The PBX box offers a CF-card that is up and running. &lt;br /&gt;
*A voicemail object is going to listen on number 77.&lt;br /&gt;
&lt;br /&gt;
Deploy the following voicemail script (audio menu in english)&lt;br /&gt;
* download [[Media:Greeting.zip]]&lt;br /&gt;
* copy onto a CF-card underneath a directory &#039;&#039;greeting&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the PBX create a new voicemail object&lt;br /&gt;
* Proceed to &#039;&#039;PBX/Objects/New Voicemail&#039;&#039; &lt;br /&gt;
* Enter &#039;&#039;Long Name, Name, Number&#039;&#039; as eg.: &#039;&#039;vm-greet, vm-greet, 77&#039;&#039;&lt;br /&gt;
* Enter the &#039;&#039;Script URL&#039;&#039; as http://127.0.0.1/drive/CF0/greeting/greet.xml&lt;br /&gt;
&lt;br /&gt;
Configure the recording function at the operator user&#039;s telephone&lt;br /&gt;
* Proceed to &#039;&#039;Configuration/RegistrationX/Recording&#039;&#039;&lt;br /&gt;
* Select &#039;&#039;manual&#039;&#039; as &#039;&#039;Mode&#039;&#039;&lt;br /&gt;
* Enter &#039;&#039;77&#039;&#039; as &#039;&#039;Number&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Within the innovaphone Operator proceed to &#039;&#039;File/Configuration/Misc.&#039;&#039;&lt;br /&gt;
*&#039;&#039;Assignment of the Recording-function&#039;&#039;: Choose &#039;&#039;Greeting&#039;&#039;&lt;br /&gt;
*&#039;&#039;Destination Number&#039;&#039;: Enter the number (&#039;&#039;77&#039;&#039; in this example) that was configured in the phone&#039;s web UI underneath &#039;&#039;Configuration/RegistrationX/Recording&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The audio greeting will start automatically for incoming external calls. The decision which calls are treated as external calls is based on the configuration of &#039;&#039;File/Configuration/LDAP Location/External Line&#039;&#039; (Mostly &#039;&#039;0&#039;&#039;). A button will be displayed on-top of the list of incoming calls, if an audio greeting is played. The button allows to stop the greeting.&lt;br /&gt;
&lt;br /&gt;
The audio greeting won&#039;t be started for:&lt;br /&gt;
* a fallback call, i.e. a call that was blind-transferred, but never connected.&lt;br /&gt;
* a call that was unparked&lt;br /&gt;
* a call that was refetched from the list of blind-transferred calls&lt;br /&gt;
* internal calls&lt;br /&gt;
&lt;br /&gt;
In order to record a new audio greeting&lt;br /&gt;
*Just dial the number of the voicemail object (&#039;&#039;77&#039;&#039; in this example).&lt;br /&gt;
*The script will prompt for a key press on the telephone&lt;br /&gt;
*Record the new greeting and stop the recording with another key press on the telephone&lt;br /&gt;
*You will be prompted with the new greeting&lt;br /&gt;
*End the call (on-hook) - the new greeting will be active from now on.&lt;br /&gt;
&lt;br /&gt;
===Recording Function===&lt;br /&gt;
This functionality is actually a reuse of a solution being available since firmware version 6. Please read through the following article:&lt;br /&gt;
*[[Howto:A Simple Recording Solution On-Top of The innovaphone Voicemail|A Simple Recording Solution On-Top of The innovaphone Voicemail]]&lt;br /&gt;
&lt;br /&gt;
All that&#039;s needed to be configured within the innovaphone Operator can be found underneath &#039;&#039;File/Configuration/Misc.&#039;&#039;.&lt;br /&gt;
*&#039;&#039;Assignment of the Recording-function&#039;&#039;: Choose &#039;&#039;Recording&#039;&#039;&lt;br /&gt;
*&#039;&#039;Destination Number&#039;&#039;: Enter the number that was configured in the phone&#039;s web UI underneath &#039;&#039;Configuration/RegistrationX/Recording&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A recording button will then be offered on-top of the list of incoming calls. The button allows to start/stop recording and serves as an indicator lamp.&lt;br /&gt;
&lt;br /&gt;
== LDAP Profile: Estos MetaDirectory 3.5==&lt;br /&gt;
&lt;br /&gt;
This article section will explain how to configure the MetaDirectory to enable full-text search by means of a single LDAP attribue. &lt;br /&gt;
&lt;br /&gt;
In a standard configuration the search within the Operator application is performed according the edit field &#039;&#039;&#039;Configuration/LDAP/Name Attributes&#039;&#039;&#039;.  The list of name attributes defaulted previously to &#039;&#039;&#039;company,sn,givenName&#039;&#039;&#039; and could be set by means of a profile button within the LDAP inline-help.&lt;br /&gt;
&lt;br /&gt;
A second profile button &#039;&#039;&#039;Estos MetaDirectory 3.5&#039;&#039;&#039; was added into the inline-help. If that button was clicked, it sets the list of name attributes to a single attribute &#039;&#039;&#039;searchContact&#039;&#039;&#039;. The &#039;&#039;searchContact&#039;&#039; attribute is kind of a meta attribute, that doesn&#039;t physically exist within the LDAP database. It rather serves as a vehicle realizing a full-text query processing whereby multiple physical attributes will be considered by the MetaDirectory.&lt;br /&gt;
&lt;br /&gt;
Which physical attributes are getting queried is subject of an administrative task. As the following screenshot illustrates, the MetaDirectoy&#039;s &#039;&#039;&#039;Search Assistant&#039;&#039;&#039; is the place where an administrator controls the behaviour of the full-text search triggered by the &#039;&#039;searchContact&#039;&#039; attribute. The search assistant allows to check multiple database fields within the column &#039;&#039;&#039;Contact search&#039;&#039;&#039;. All database fields enabled are going to be considered for the &#039;&#039;searchContact&#039;&#039;-related full-text search.&lt;br /&gt;
[[Image:Howto fulltext search screen 01.png]]&lt;br /&gt;
&lt;br /&gt;
As can be seen right next to the column &#039;&#039;Contact search&#039;&#039; resides the column &#039;&#039;&#039;Number search&#039;&#039;&#039;. The same principle applies. However, it is not targeting the attribute &#039;&#039;searchContact&#039;&#039;, but the attribute &#039;&#039;&#039;searchNumber&#039;&#039;&#039;. This is why the edit field &#039;&#039;&#039;Configuration/LDAP/Number Attributes&#039;&#039;&#039; will be set to &#039;&#039;&#039;searchNumber&#039;&#039;&#039; when clicking the profile button mentioned above.&lt;br /&gt;
&lt;br /&gt;
*Benefits&lt;br /&gt;
**Short and concise LDAP filters are sent towards the MetaDirectory&lt;br /&gt;
**Indexed search increases overall query performance&lt;br /&gt;
&lt;br /&gt;
=Configuration, Specialties=&lt;br /&gt;
This section covers somewhat advanced configuration aspects.&lt;br /&gt;
==Suppress Call Display==&lt;br /&gt;
A privacy list may be administrated manually within the operator&#039;s configuration file. The purpose is to provide a means for privacy, such that call details won&#039;t be visible from within the application. &lt;br /&gt;
*Click on the button &#039;&#039;&#039;File/Configuration/Misc/AppData&#039;&#039;&#039;.&lt;br /&gt;
**A Windows Explorer is going to come up, showing the contents of &#039;&#039;C:\Users\&amp;lt;your user directory&amp;gt;\AppData\Roaming\innovaphone AG\innovaphone Operator\&#039;&#039;.&lt;br /&gt;
*Terminate the operator.&lt;br /&gt;
*Open &#039;&#039;&#039;swconfig.xml&#039;&#039;&#039; witin a text editor&lt;br /&gt;
*Enter the list as in the following excerpt (&#039;&#039;name=&amp;quot;..&amp;quot;&#039;&#039; corresponds to the user&#039;s short name)&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;switchboard&amp;gt;&lt;br /&gt;
    &amp;lt;config&amp;gt;&lt;br /&gt;
	...&lt;br /&gt;
	&amp;lt;privacy&amp;gt;&lt;br /&gt;
	   &amp;lt;hide name=&amp;quot;mst&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/privacy&amp;gt;&lt;br /&gt;
	...		&lt;br /&gt;
    &amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/switchboard&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s also possible to add all objects to a privacy list by adapting the config part as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;switchboard&amp;gt;&lt;br /&gt;
    &amp;lt;config&amp;gt;&lt;br /&gt;
	...&lt;br /&gt;
	&amp;lt;privacy&amp;gt;&lt;br /&gt;
	   &amp;lt;hide hide-all=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/privacy&amp;gt;&lt;br /&gt;
	...		&lt;br /&gt;
    &amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/switchboard&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Restart the app&#039;.&lt;br /&gt;
&lt;br /&gt;
==Unattended Installation==&lt;br /&gt;
The following command line for the MS Installer program msiexec&amp;lt;ref&amp;gt;Windows Installer, Command Line Options: http://msdn.microsoft.com/en-us/library/aa367988%28v=vs.85%29.aspx&amp;lt;/ref&amp;gt; has been reported to be working with the &#039;&#039;All Users&#039;&#039; installation setting.&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
msiexec /i innovaphone.operator.setup.msi /passive /l* &amp;quot;Logdatei.txt&amp;quot; INSTALLDIR=&amp;quot;C:\Program Files\innovaphone AG\innovaphone® Operator\&amp;quot; ALLUSERS=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Start With A Disctinct UI Culture==&lt;br /&gt;
The system culture controls the UI culture. The Operator appears in english on an english OS.&lt;br /&gt;
&lt;br /&gt;
To force a different culture&lt;br /&gt;
*&#039;&#039;&#039;Win Explorer&#039;&#039;&#039; Browse to &#039;&#039;C:\Program Files (x86)\innovaphone AG\innovaphone® Operator&#039;&#039;&lt;br /&gt;
*Right-Click on innovaphone.operator&lt;br /&gt;
*A context menu opens. Select &#039;&#039;&#039;Send To Desktop As Shortcut&#039;&#039;&#039;.&lt;br /&gt;
*Locate the newly created shortcut/link on the desktop and click on &#039;&#039;&#039;Properties&#039;&#039;&#039;.&lt;br /&gt;
*Modify the target from&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;C:\Program Files (x86)\innovaphone AG\innovaphone® Operator\innovaphone.operator.exe&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Into&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;C:\Program Files (x86)\innovaphone AG\innovaphone® Operator\innovaphone.operator.exe&amp;quot; /culture de-DE&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible cultures are&lt;br /&gt;
*&#039;&#039;&#039;english&#039;&#039;&#039; en-GB&lt;br /&gt;
*&#039;&#039;&#039;czech&#039;&#039;&#039; cs-CZ&lt;br /&gt;
*&#039;&#039;&#039;german&#039;&#039;&#039; de-DE&lt;br /&gt;
*&#039;&#039;&#039;italian&#039;&#039;&#039; it-IT&lt;br /&gt;
*&#039;&#039;&#039;dutch&#039;&#039;&#039; nl-NL&lt;br /&gt;
*&#039;&#039;&#039;french&#039;&#039;&#039; fr-FR&lt;br /&gt;
*&#039;&#039;&#039;norwegian&#039;&#039;&#039; nb-NO&lt;br /&gt;
*&#039;&#039;&#039;polish&#039;&#039;&#039; pl-PL&lt;br /&gt;
&lt;br /&gt;
An alternative to the shortcut object vehicle is configuration file &#039;&#039;swconfig.xml&#039;&#039;. The format is as follows&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;switchboard&amp;gt;&lt;br /&gt;
    &amp;lt;config&amp;gt;&lt;br /&gt;
	...&lt;br /&gt;
        &amp;lt;culture&amp;gt;de-DE&amp;lt;/culture&amp;gt;&lt;br /&gt;
	...		&lt;br /&gt;
    &amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/switchboard&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Addressing Large Scale Installations=&lt;br /&gt;
One of the lengthy discussions throughout the product design phase concerned large installations. Say, installations with more than 300 pbx users, up to a few thousand of them.&lt;br /&gt;
&lt;br /&gt;
To make a long story short - eventually it turned out the main gimmick, the new busy lamp field, wasn&#039;t suitable. With a BLF the need for a search function would have emerged which was deemed contradictory to the intended purpose of a BLF.&lt;br /&gt;
&lt;br /&gt;
Hence, the existing PBX search function received a major overhaul by adding the new [[#Full_Text_Index | Full Text Index]]. The goal of the full text index was to provide a search function being perceived as fast and superior to the one of the predecessor application. The BLF was left as-is without an extra search capability.&lt;br /&gt;
&lt;br /&gt;
Finally, a checklist aiding planning of large scale installations&lt;br /&gt;
*Make the operator an active member of a group e.g. &amp;quot;soap&amp;quot;.&lt;br /&gt;
*Make all other pbx users, that shall be searchable non-active members of the same group &amp;quot;soap&amp;quot;.&lt;br /&gt;
**Per PBX not more than 2000&amp;lt;ref&amp;gt;The PBX has a hard-coded limit of 2000 group members&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;If more than 2000 users are required, those must be distributed on multiple PBXs with 2000 &amp;quot;soap&amp;quot; members each&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Ensure the Operator 9&#039;s PBX search is configured for &#039;&#039;&#039;Full Text/Volltext&#039;&#039;&#039;&lt;br /&gt;
*On the PC running the Operator 9 watch out for resource consumption.&lt;br /&gt;
**A countermeasure against too much of memory consumption is to completely disable the BLF&amp;lt;ref&amp;gt;Calculate with 80KB per BLF entry&amp;lt;/ref&amp;gt;. See the checkmark &#039;&#039;&#039;Configuration/Misc/BLF Deactivate&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
==How to obtain logs with Operator Application==&lt;br /&gt;
&lt;br /&gt;
When an error occurs the Operator Application will give an alert on status bar and we can click on &amp;quot;save trace&amp;quot; button to retrieve the log. However we can force the trace on Operator Application that will generate always the trace file.&lt;br /&gt;
&lt;br /&gt;
To do so, we need to go File-&amp;gt;Configuration then Misc-tab and enable &amp;quot;trace&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
[[Image:Concept_Operator_Version_9_trace.png]]&lt;br /&gt;
&lt;br /&gt;
=Known Issues=&lt;br /&gt;
==Application Won&#039;t Start On Windows XP==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The application doesn&#039;t start properly on Windows XP. An error text file is going to be generated comprising the following content:&lt;br /&gt;
&amp;lt;code text&amp;gt;&lt;br /&gt;
31.07.2009 16:40:46,innovaphone Operator,8.0.38.0&lt;br /&gt;
&lt;br /&gt;
OS: Microsoft Windows NT 5.1.2600 Service Pack 2&lt;br /&gt;
CLR:    2.0.50727.1433&lt;br /&gt;
&lt;br /&gt;
An internal error occurred&lt;br /&gt;
&lt;br /&gt;
Alarms:&lt;br /&gt;
Exception, date=31.07.2009 16:40:45, info=unhandled exception&lt;br /&gt;
================================================================&lt;br /&gt;
&#039;System.Windows.Controls.ToolTip&#039; value cannot be assigned to property &#039;Value&#039; of object &#039;System.Windows.Setter&#039;.&lt;br /&gt;
&#039;System.Windows.Controls.ToolTip&#039; is not a valid value for &#039;Setter.Value&#039;; &lt;br /&gt;
values derived from Visual or ContentElement are not supported.  &lt;br /&gt;
Error at object &#039;System.Windows.Controls.ToolTip&#039; in markup file &#039;operator;component/activecallsincontrol.xaml&#039;.&lt;br /&gt;
at System.Windows.Markup.XamlParseException.ThrowException(String message, Exception innerException, Int32 lineNumber, Int32 linePosition, Uri baseUri, XamlObjectIds currentXamlObjectIds, XamlObjectIds contextXamlObjectIds, Type objectType)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Have a look into what Windows Update offers as optional components. If there&#039;s a cumulative update for .NET 2.0/3.0/3.5 you&#039;re asked to install said update (addendum: The update may also show up as &#039;&#039;.NET 3.5 SP1&#039;&#039;&amp;lt;ref&amp;gt;.Net 3.5 SP1: http://www.microsoft.com/en-us/download/details.aspx?id=22&amp;lt;/ref&amp;gt;). That update is going to upgrade the CLR onto the required version. Please note that Service Pack 3 is mandatory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The original .Net Common Language Runtime (CLR) is not suitable and too old.&lt;br /&gt;
&lt;br /&gt;
==Blind-Transferred Calls Don&#039;t Show Up in List of &amp;quot;Transferred Calls&amp;quot;==&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Calls that were blind-transferred by the Operator application may probably not appear in the respective call list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
*At the PBX browse to PBX/Config/General&lt;br /&gt;
*Enter something useful in seconds (30 or 60)&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A blind-transferred call is going to fall-back after that amount of seconds if not accepted in-between.&lt;br /&gt;
&lt;br /&gt;
==Blind-Transferred Calls Don&#039;t Fall Back==&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Calls that were blind-transferred by the Operator application don&#039;t fall-back to the operator.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
*The cause and solution are the same as in [[#Blind-Transferred Calls Don&#039;t Show Up in List of &amp;quot;Transferred Calls&amp;quot;|Blind-Transferred Calls Don&#039;t Show Up in List of &amp;quot;Transferred Calls&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Operator Freezes On Startup==&lt;br /&gt;
The operator application was reported to get stuck on startup. The user interface turned white and did not respond to any input.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The application window looks as follows [[Image:screenshot-oppi-freeze.jpg|center|thumb|200px|Operator freezes on startup]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This symptom can occur due to a corruption of the framework&#039;s font cache data file. Try the workaround:&lt;br /&gt;
*&#039;&#039;&#039;Start/Run&#039;&#039;&#039; of &#039;&#039;&#039;services.msc&#039;&#039;&#039;&lt;br /&gt;
*Stop the service &#039;&#039;Windows Presentation Foundation Font Cache 3.0.0.0&#039;&#039;/&#039;&#039;Windows Presentation Foundation-Schriftartcache 3.0.0.0&#039;&#039;&lt;br /&gt;
*Now delete the system file &#039;&#039;FontCache3.0.0.0.dat&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The file likely resides under Windows XP in&lt;br /&gt;
--&lt;br /&gt;
%systemdrive%\Documents and Settings\LocalService\Local Settings\Application Data&lt;br /&gt;
&lt;br /&gt;
The file likely resides under Windows Vista/7 in&lt;br /&gt;
--&lt;br /&gt;
%windir%\ServiceProfiles\LocalService\AppData\Local&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Reboot the machine&lt;br /&gt;
&lt;br /&gt;
==Operator Displays Corrupted Fonts==&lt;br /&gt;
After 2 years of service the operator application was reported to suddenly display corrupted fonts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The application window looks as follows [[Image:Operator_font_corrupted.jpg|center|thumb|200px|Operator displays corrupted fonts]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This symptom occurred due to a corruption of the framework&#039;s font cache data file. Try the workaround:&lt;br /&gt;
*&#039;&#039;&#039;Start/Run&#039;&#039;&#039; of &#039;&#039;&#039;services.msc&#039;&#039;&#039;&lt;br /&gt;
*Stop the service &#039;&#039;Windows Presentation Foundation Font Cache 3.0.0.0&#039;&#039;/&#039;&#039;Windows Presentation Foundation-Schriftartcache 3.0.0.0&#039;&#039;&lt;br /&gt;
*Now delete the system file &#039;&#039;FontCache3.0.0.0.dat&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The file likely resides under Windows XP in&lt;br /&gt;
--&lt;br /&gt;
%systemdrive%\Documents and Settings\LocalService\Local Settings\Application Data&lt;br /&gt;
&lt;br /&gt;
The file likely resides under Windows Vista/7 in&lt;br /&gt;
--&lt;br /&gt;
%windir%\ServiceProfiles\LocalService\AppData\Local&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Reboot the machine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
It is the same root cause as above in [[#Operator_Freezes_On_Startup|Operator Freezes On Startup]].&lt;br /&gt;
&lt;br /&gt;
==Pickup Of WQ Calls==&lt;br /&gt;
From on build 90112 the pickup of WQ calls is only possible for calls not in the CONNECT state. &lt;br /&gt;
*Activate the checkmark &#039;&#039;&#039;PBX/Objects/&amp;lt;WQ Object&amp;gt;/Queue/Operator connect for SOAP&#039;&#039;&#039;&lt;br /&gt;
**this setting guarantees that a WQ call is displayed as CONNECTed only in case of an operator actively talking to the caller party A.&lt;br /&gt;
&lt;br /&gt;
==Not Working: &#039;&#039;Focus on incoming call&#039;&#039;==&lt;br /&gt;
The configuration dialog offers an auto-focus checkmark &#039;&#039;&#039;File/Configuration/Misc/Focus on inc. call&#039;&#039;&#039;. Customers reported that the application manages getting into the foreground. However, without catching the keyboard focus. A final click into the application was necessary.&lt;br /&gt;
&lt;br /&gt;
Instead, the application icon within the taskbar starts flashing, indicating that further user interaction is required.&lt;br /&gt;
The application window looks as follows &lt;br /&gt;
[[Image:Set-foreground-waiting.PNG|center|thumb|200px|Operator waiting for a click]].&lt;br /&gt;
&lt;br /&gt;
This behaviour is by-design and cannot be circumvented in a common manner. An MS statement&amp;lt;ref&amp;gt;Set Foreground Window: http://msdn.microsoft.com/en-us/library/ms633539%28VS.85%29.aspx&amp;lt;/ref&amp;gt; clarifies this OS-behaviour:&lt;br /&gt;
*&#039;&#039;An application cannot force a window to the foreground while the user is working with another window. Instead, Windows flashes the taskbar button of the window to notify the user.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The only reliable way to have the auto-focus feature working is by minimizing the application to the tray area. See the following menu button. &lt;br /&gt;
[[Image:Op-minimize-to-tray.png|center|thumb|200px|Button: Minimize to tray area]]&lt;br /&gt;
Auto-focusing from that window-state/application-state is supposed to be more reliable in getting the application into the foreground and assigning it the keyboard focus.&lt;br /&gt;
&lt;br /&gt;
==Application Crash: Methode nicht gefunden/Method Not Found==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The application crashes - e.g. when searching - and prompts an exception labeled &#039;&#039;&#039;Methode nicht gefunden/Method Not Found&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;code text&amp;gt;&lt;br /&gt;
Exception, date=12.06.2013 16:35:52, info=unhandled exception&lt;br /&gt;
================================================================&lt;br /&gt;
Methode nicht gefunden: &amp;quot;System.Object[] innovaphone.idx.IFulltextIndex.Query(Char, System.String[])&amp;quot;.&lt;br /&gt;
   bei switchboard.Index.FtIndexQueryVlv(Char equalityTerminator, String[] terms, Int32 pageSize, VlvCursor&amp;amp; cursor)&lt;br /&gt;
   bei switchboard.SearchPbxControl.PbxSearchFullTextExecute(String[] terms)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
De-install and afterwards re-install the application(The configuration won&#039;t be deleted, i.e. will remain.).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The root-cause is a DLL versioning problem. The problem may occur after an update-install took place. That is, where a newer Operator was installed over an older, existing installation.&lt;br /&gt;
&lt;br /&gt;
==Inbound Calls Appear Doubled==&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The upper-left list of calls titled &#039;&#039;Incoming calls for..&#039;&#039; displays a single call as two or even more calls.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Configure a distinct &#039;&#039;&#039;Hardware ID&#039;&#039;&#039; of one of the operator&#039;s phones under &#039;&#039;&#039;File/Configuration/General/Hardware ID&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The operator is likely to have multiple registrations active, originating from multiple endpoint devices. Only one of those devices shall be selected as the operator&#039;s active phone.&lt;br /&gt;
&lt;br /&gt;
== Multiple Operator Instances and Nightswitch settings ==&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Time settings will be empty or are not saved if more than one operator instance is used.&lt;br /&gt;
&lt;br /&gt;
=Localization=&lt;br /&gt;
The article [[Howto:Assist_In_Localization_Of_Operator_Version_9|Howto:Assist In Localization Of Operator Version 9]] serves as a starting point, if you are interested in helping to localize the application.&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference:Configuration/BRI/Interop&amp;diff=32956</id>
		<title>Reference:Configuration/BRI/Interop</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference:Configuration/BRI/Interop&amp;diff=32956"/>
		<updated>2014-03-11T10:00:58Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Usually it should not be necessary to do any adjustments on this page. Nevertheless some ISDN implementation are not compatible to what we consider the standard.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Automatic Keypad&#039;&#039;&#039;&lt;br /&gt;
|This options enables Automatic Keypad sending. This means that if the first dialed digit to be sent on this interface is either &#039;*&#039; or &#039;#&#039; the digits are not sent as called party number, but as Keypad information instead. This is used on some ISDN networks for non call related supplementary services (e.g. *21*No# to set call forwarding).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Sending of HLC&#039;&#039;&#039;&lt;br /&gt;
| The HLC (Higher Layer Compatibility) information element is used to provide end to end information about the application (e.g. Telephony) of the call. Very rarely ISDN implementations do no support it and thus reject calls. With this checkmark the sending of the HLC can be suppressed.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Sending of FTY&#039;&#039;&#039;&lt;br /&gt;
| The FTY (Facility) information element is used for supplementary services. This option supresses the sending of FTY to avoid problems with incompatibilities of the facilities. No Supplementary Services are possible in this case.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Subaddress&#039;&#039;&#039;&lt;br /&gt;
| No subaddress information elements are transmitted.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Connected Num.&#039;&#039;&#039;&lt;br /&gt;
| No connected number information elements are transmitted.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Restart&#039;&#039;&#039;&lt;br /&gt;
| The Restart procedure is used by the device after establishment of the link layer to make sure no call exists on any channel. This is useful because some PBXs do no clear all calls if the link layer is disconnected. With this option this restart procedure is disabled.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Passive Layer2&#039;&#039;&#039;&lt;br /&gt;
| Normally the device tries to establish the link layer on point to point interfaces as soon as the physical layer is established. This behaviour is especially incompatible to some ISDN conformance test equipment even if it conforms to standard. This option turns this off.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Overlap Receive&#039;&#039;&#039;&lt;br /&gt;
| Normally, single digit dialing (overlapped sending) is not used to call terminals (that is, devices in TE mode) on point-to-multipoint connections. Under certain circumstances however, it is possible for gateways to be connected to a PABX system in precisely this mode and then also support incoming single digit dialing (overlapped receive). In this case, an incoming SETUP message is answered, as required in the standard, with a SETUP_ACK message. Some PABXs, however, do not expect this sort of message from terminal equipment and terminate the call at this point. In such a case, the No overlap receive setting prevents the gateway from answering the incoming SETUP message with a SETUP_ACK.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Disc&#039;&#039;&#039;&lt;br /&gt;
| No DISC message is transmitted. REL is transmitted instead.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Disc for Call Reject&#039;&#039;&#039;&lt;br /&gt;
| Call Rejection is done with REL message instead of DISC.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Annex N&#039;&#039;&#039;&lt;br /&gt;
| Signals the sending of inband information during call establishment according to ETS 300 102-1 Annex n (only in TE mode).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Automatic Progress&#039;&#039;&#039;&lt;br /&gt;
| Send a Progress message after any CallProceeding message to avoid short CallProceeding Timeout of 10s, which may be a problem with DECT handsets or if a CFNR to a public network is done.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Volume&#039;&#039;&#039;&lt;br /&gt;
| Here, you can set a value in decibel (db) between -32db and +32db.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CR Length&#039;&#039;&#039;&lt;br /&gt;
| Length of call reference value in bytes. Normally the length of the Call reference is defined by the standard. Especially in the QSIG environment deviations from the standard are found, so it can be adjusted manually.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CHI Type&#039;&#039;&#039;&lt;br /&gt;
|Coding of the Channel Information Element is different for Basic Rate (BRI) and Primary rate (PRI) interfaces, but for QSIG the PRI coding is defined for BRI interfaces as well. Some QSIG implementation use BRI coding of the Channel Information Element on a BRI interface. With this option the coding can be adjusted manually.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference8:Configuration/BRI/Interop&amp;diff=32955</id>
		<title>Reference8:Configuration/BRI/Interop</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference8:Configuration/BRI/Interop&amp;diff=32955"/>
		<updated>2014-03-11T10:00:36Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Usually it should not be necessary to do any adjustments on this page. Nevertheless some ISDN implementation are not compatible to what we consider the standard.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Automatic Keypad&#039;&#039;&#039;&lt;br /&gt;
|This options enables Automatic Keypad sending. This means that if the first dialed digit to be sent on this interface is either &#039;*&#039; or &#039;#&#039; the digits are not sent as called party number, but as Keypad information instead. This is used on some ISDN networks for non call related supplementary services (e.g. *21*No# to set call forwarding).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Sending of HLC&#039;&#039;&#039;&lt;br /&gt;
| The HLC (Higher Layer Compatibility) information element is used to provide end to end information about the application (e.g. Telephony) of the call. Very rarely ISDN implementations do no support it and thus reject calls. With this checkmark the sending of the HLC can be suppressed.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Sending of FTY&#039;&#039;&#039;&lt;br /&gt;
| The FTY (Facility) information element is used for supplementary services. This option supresses the sending of FTY to avoid problems with incompatibilities of the facilities. No Supplementary Services are possible in this case.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Subaddress&#039;&#039;&#039;&lt;br /&gt;
| No subaddress information elements are transmitted.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Suppress Connected Num.&#039;&#039;&#039;&lt;br /&gt;
| No connected number information elements are transmitted.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Restart&#039;&#039;&#039;&lt;br /&gt;
| The Restart procedure is used by the device after establishment of the link layer to make sure no call exists on any channel. This is useful because some PBXs do no clear all calls if the link layer is disconnected. With this option this restart procedure is disabled.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Passive Layer2&#039;&#039;&#039;&lt;br /&gt;
| Normally the device tries to establish the link layer on point to point interfaces as soon as the physical layer is established. This behaviour is especially incompatible to some ISDN conformance test equipment even if it conforms to standard. This option turns this off.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Overlap Receive&#039;&#039;&#039;&lt;br /&gt;
| Normally, single digit dialing (overlapped sending) is not used to call terminals (that is, devices in TE mode) on point-to-multipoint connections. Under certain circumstances however, it is possible for gateways to be connected to a PABX system in precisely this mode and then also support incoming single digit dialing (overlapped receive). In this case, an incoming SETUP message is answered, as required in the standard, with a SETUP_ACK message. Some PABXs, however, do not expect this sort of message from terminal equipment and terminate the call at this point. In such a case, the No overlap receive setting prevents the gateway from answering the incoming SETUP message with a SETUP_ACK.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Disc&#039;&#039;&#039;&lt;br /&gt;
| No DISC message is transmitted. REL is transmitted instead. If DISC is received a RELEASE response is sent right away.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Disc for Call Reject&#039;&#039;&#039;&lt;br /&gt;
| Call Rejection is done with REL message instead of DISC.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Annex N&#039;&#039;&#039;&lt;br /&gt;
| Signals the sending of inband information during call establishment according to ETS 300 102-1 Annex n (only in TE mode).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Automatic Progress&#039;&#039;&#039;&lt;br /&gt;
| Send a Progress message after any CallProceeding message to avoid short CallProceeding Timeout of 10s, which may be a problem with DECT handsets or if a CFNR to a public network is done.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Volume&#039;&#039;&#039;&lt;br /&gt;
| Here, you can set a value in decibel (db) between -32db and +32db to define the output volume to the BRI interface.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CR Length&#039;&#039;&#039;&lt;br /&gt;
| Length of call reference value in bytes. Normally the length of the Call reference is defined by the standard. Especially in the QSIG environment deviations from the standard are found, so it can be adjusted manually.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CHI Type&#039;&#039;&#039;&lt;br /&gt;
|Coding of the Channel Information Element is different for Basic Rate (BRI) and Primary rate (PRI) interfaces, but for QSIG the PRI coding is defined for BRI interfaces as well. Some QSIG implementation use BRI coding of the Channel Information Element on a BRI interface. With this option the coding can be adjusted manually.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Interfaces/BRI/Interop&amp;diff=32954</id>
		<title>Reference9:Interfaces/BRI/Interop</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Interfaces/BRI/Interop&amp;diff=32954"/>
		<updated>2014-03-11T10:00:14Z</updated>

		<summary type="html">&lt;p&gt;Tle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Interop&#039;&#039;&#039; submenu normally does not have to be adjusted. This is only necessary if, for example, malfunctions occur when transmitting H.323 calls.&lt;br /&gt;
&lt;br /&gt;
Not all ISDN implementations are prepared to receive certain standard-compliant &#039;&#039;&#039;information elements&#039;&#039;&#039; (referred to as IEs). Such IEs can be created, for example, when linking up different PABXs or transmitting H.323 calls to an ISDN interface and vice-versa.&lt;br /&gt;
&lt;br /&gt;
If malfunctions are caused by the transmission of certain IEs, the gateways can be made to remove such IEs from the transmitted messages.&lt;br /&gt;
&lt;br /&gt;
;Automatic Keypad: This options enables Automatic Keypad sending. This means that if the first dialed digit to be sent on this interface is either &#039;*&#039; or &#039;#&#039; the digits are not sent as called party number, but as Keypad information instead. This is used on some ISDN networks for non call related supplementary services (e.g. *21*No# to set call forwarding).&lt;br /&gt;
&lt;br /&gt;
;Suppress HLC: The HLC (Higher Layer Compatibility) information element is used to provide end to end information about the application (e.g. Telephony) of the call. Very rarely ISDN implementations do no support it and thus reject calls. With this checkmark the sending of the HLC can be suppressed.&lt;br /&gt;
&lt;br /&gt;
;Suppress FTY: The FTY (Facility) information element is used for supplementary services. This option supresses the sending of FTY to avoid problems with incompatibilities of the facilities. No Supplementary Services are possible in this case.&lt;br /&gt;
&lt;br /&gt;
;Suppress Subaddress: No subaddress information elements are transmitted.&lt;br /&gt;
&lt;br /&gt;
;Suppress Connected Num.: No connected number information elements are transmitted.&lt;br /&gt;
&lt;br /&gt;
;No Restart: The Restart procedure is used by the device after establishment of the link layer to make sure no call exists on any channel. This is useful because some PBXs do no clear all calls if the link layer is disconnected. With this option this restart procedure is disabled.&lt;br /&gt;
&lt;br /&gt;
;Passive Layer2: Normally the device tries to establish the link layer on point to point interfaces as soon as the physical layer is established. This behaviour is especially incompatible to some ISDN conformance test equipment even if it conforms to standard. This option turns this off.&lt;br /&gt;
&lt;br /&gt;
;No Overlap Receive: Normally, single digit dialing (overlapped sending) is not used to call terminals (that is, devices in TE mode) on point-to-multipoint connections. Under certain circumstances however, it is possible for gateways to be connected to a PABX system in precisely this mode and then also support incoming single digit dialing (overlapped receive). In this case, an incoming SETUP message is answered, as required in the standard, with a SETUP_ACK message. Some PABXs, however, do not expect this sort of message from terminal equipment and terminate the call at this point. In such a case, the No overlap receive setting prevents the gateway from answering the incoming SETUP message with a SETUP_ACK.&lt;br /&gt;
&lt;br /&gt;
;No Disc: No DISC message is transmitted. REL is transmitted instead. If DISC is received a RELEASE response is sent right away.&lt;br /&gt;
&lt;br /&gt;
;No Disc for Call Reject: Call Rejection is done with REL message instead of DISC.&lt;br /&gt;
&lt;br /&gt;
;Annex N: Signals the sending of inband information during call establishment according to ETS 300 102-1 Annex n (only in TE mode).&lt;br /&gt;
&lt;br /&gt;
;Automatic Progress: Send PROGRESS message automatically after a CALL_PROC message. Some networks have short timeouts (4-6s) for incoming calls after a CALL_PROC (which indicates that the called number exists and is complete) is sent. This can create problems if the incoming call is forwarded to a mobile number or any other destination which takes some time to respond. The PROGRESS message stops this timer.&lt;br /&gt;
&lt;br /&gt;
;Network CLI only: Any CLI received on incoming calls, which is not marked as &#039;Network provided&#039; or &#039;User provided and screened&#039; is igored. This may be needed for applications which do not want to trust a CLI provided by the CLIP no screening feature.&lt;br /&gt;
&lt;br /&gt;
;Volume: Here, you can set a value in decibel (dB) between -32dB and +32dB to define the output volume to the BRI interface.&lt;br /&gt;
&lt;br /&gt;
;CR Length: Length of call reference value in bytes. Normally the length of the Call reference is defined by the standard. Especially in the QSIG environment deviations from the standard are found, so it can be adjusted manually.&lt;br /&gt;
&lt;br /&gt;
;CHI Type: Coding of the Channel Information Element is different for Basic Rate (BRI) and Primary rate (PRI) interfaces, but for QSIG the PRI coding is defined for BRI interfaces as well. Some QSIG implementation use BRI coding of the Channel Information Element on a BRI interface. With this option the coding can be adjusted manually.&lt;/div&gt;</summary>
		<author><name>Tle</name></author>
	</entry>
</feed>