<?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=Muelbuesch</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=Muelbuesch"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Muelbuesch"/>
	<updated>2026-05-08T13:46:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Linux_Application_Platform&amp;diff=46187</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=46187"/>
		<updated>2017-03-24T09:25:29Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: /* Requirements */&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 three 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;
=====saveinnovaphone-applicationnamelogs=====&lt;br /&gt;
&lt;br /&gt;
Saves log files as a tar gz archive (so you should use .tar.gz as ending) for applicationname (reporting, exchange or faxserver)&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-reportinglogs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphone-applicationnamecfgs=====&lt;br /&gt;
&lt;br /&gt;
Saves all neccessary configuration files as a tar gz archive (so you should use .tar.gz as ending) for applicationname (reporting, exchange or faxserver)&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-reportingcfgs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphone-applicationnamedb=====&lt;br /&gt;
&lt;br /&gt;
Saves ddbb if existing as a tar gz archive (so you should use .tar.gz as ending) for applicationname (reporting, exchange or faxserver)&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-reportingdb&#039;&#039;&#039;&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;
====WinSCP====&lt;br /&gt;
&lt;br /&gt;
[https://winscp.net WinSCP] 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>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:PBX/Objects/Waiting_Queue&amp;diff=36875</id>
		<title>Reference10:PBX/Objects/Waiting Queue</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:PBX/Objects/Waiting_Queue&amp;diff=36875"/>
		<updated>2015-02-26T10:56:49Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: corrected typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Waiting Queue PBX object is used to put calls sent to this object into a queue. While the call is in the queue, it may either remain in alerting state or it be connected with an announcement played. Two announcements can be configured played one after the other, the second is repeated. Calls which are in the queue can be sent to groups of operators configured for the queue. Calls are strictly sent in a first in first out manner to operators. The next call is sent only after the previous call is connected. Destinations can be configured, which can be dialed using DTMF while a call is in the queue and connected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Waiting Queue PBX object does not support DTMF tone detection. Only &#039;telephone-event&#039; (RFC-2833) or DTMF signalling (H.245 User Input Indication / SIP INFO(dtmf-relay)) are supported.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Addressing ===&lt;br /&gt;
&lt;br /&gt;
The Long Name, Name Number and Node configuration parameters have the same meaning as for any other object.&lt;br /&gt;
&lt;br /&gt;
=== Registration ===&lt;br /&gt;
&lt;br /&gt;
Hardware ID, PBX, Send Number, Password, Filter, Diversion Filter and Group Indications are used only for endpoints registered directly to the Waiting Queue object. This maybe useful to set diversions for the Waiting Queue object and such endpoints can be used to make calls and are treated as operators of the Waiting Queue.&lt;br /&gt;
&lt;br /&gt;
=== CFNR Timeout ===&lt;br /&gt;
&lt;br /&gt;
The timeout used for call forward no response. See Diversions.&lt;br /&gt;
&lt;br /&gt;
=== Max Calls ===&lt;br /&gt;
&lt;br /&gt;
This configuration parameter can be used to limit the calls in the queue. Calls connceted to a operator do not count in this respect anymore.&lt;br /&gt;
&lt;br /&gt;
=== Announcements ===&lt;br /&gt;
&lt;br /&gt;
For announcements the URL and/or Extern Name/no have to be configured. If no Extern Name/no is configured the local HTTP interface is used to retrieve the announcements. The URL has the following format:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/&amp;lt;filename.$coder&amp;gt;?coder=&amp;lt;coder-list&amp;gt;[&amp;amp;repeat=true|repeat=n|disc=true|random=true|record=true]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;addr&#039;&#039;&#039;&lt;br /&gt;
|The IP address of the web server. A DNS name cannot be used here.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;filename.$coder&#039;&#039;&#039;&lt;br /&gt;
|The filename of the announcement files including any path. $coder will be replaced by the actual coder used.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;coder-list&#039;&#039;&#039;&lt;br /&gt;
|A comma seperated list of all available coder. For each coder in the list the respective announcement file must be available on the server. The available coders are g729,g711a,g711u,g723.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;repeat=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present the announcement will be repeated. If this is used for the 1st Announcement the 2nd Announcement will never be played.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;repeat=&amp;lt;n&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|If this is present the announcement will be repeated another n times.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;disc=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present, the call will be disconnected as soon as the announcement URL is played (that is, when the source file &lt;br /&gt;
-- scheint nicht zu tun auch nicht, wenn man es in die zweite URL reintut&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;fallback=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present and the specified announcement file is not available, the built-in MOH pattern will be played.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;random=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present, the announcement will be started at a random offset, so each caller will hear it from a different point in time.  This works with non-local URLs only though.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://145.253.157.2/announce/welcome.$coder?coder=g711a,g711u,g729&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no URL is configured the local HTTP interface plays the built-in music on hold by default.&lt;br /&gt;
&lt;br /&gt;
If an Extern Name/No is configured then no local HTTP interface is used, but a call is sent to the configured Name/No. The URL is sent with this call as user-user-info, so that a remote HTTP interface can use it the same way as the local HTTP interface. As destination of the call any voip endpoint can be used.&lt;br /&gt;
&lt;br /&gt;
1st announcement is played once when the call is connected. When 1st announcement is complete, the 2nd announcement is played repeatedly.  If there is no 2nd announcement, the caller will be disconnected when the 1st announcement has completed.&lt;br /&gt;
&lt;br /&gt;
There are 2 pseudo URLs available, TONE and MOH.  Such URLs will be interpreted locally and connect to the systems tone and music-on-hold interface, respectively.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;TONE&#039;&#039;&#039;&lt;br /&gt;
|as URL will produce a constant tone (often recogonized as a dial-tone).  You can add a &#039;&#039;&#039;?tone=ringback&#039;&#039;&#039; which will give you a tone sequence with 1 second tone and 4 seconds silence (this is often recognized as a ring-back tone).&lt;br /&gt;
&lt;br /&gt;
You can also add a &#039;&#039;&#039;?tone=busy&#039;&#039;&#039; which will give you a busy tone sequence. Notice that the queue is only playing the busy tone, it will not disconnect the call. (To disconnect the call after a while, use the CFNR to a not existing user or to a Disconnect user object, routed to the DISC interface.)&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;MOH&#039;&#039;&#039;&lt;br /&gt;
|will produce the built-in music-on-hold.  Please note that both TONE and MOH never end, so &#039;&#039;&#039;repeat=true&#039;&#039;&#039; is not required and &#039;&#039;&#039;disc=true&#039;&#039;&#039; will have no effect.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V7 hotifx9&#039;&#039;&#039;: At any location inside the URL placeholders can be used, which are replaced by a string defined for the placeholder. The following placeholders are available:&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;#p&#039;&#039;&#039;&lt;br /&gt;
|Position of this call within the queue. &#039;&#039;&#039;0&#039;&#039;&#039; means the next available operator will answer this call.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;##&#039;&#039;&#039;&lt;br /&gt;
|Is replaced by &#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://145.253.157.2/announce/queue_place#p.$coder?coder=g711a,g711u,g729&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will be resolved to the files &#039;&#039;queue_place1.g711a&#039;&#039;,&#039;&#039;queue_place2.g711a&#039;&#039;, &#039;&#039;queue_place3.g711a&#039;&#039;...., depended on place in queue. So you have to create one set of prompt files for each queue place.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recomended solution:&#039;&#039;&#039; Create a &#039;&#039;welcome&#039;&#039; prompt in 1st Announcement and a &#039;&#039;queue_place&#039;&#039; prompt (witch will be repeated) in 2nd Announcement. This way the every time the 2nd Announcement it&#039;s repeated it will provide the queue position to the caller.&lt;br /&gt;
&lt;br /&gt;
=== Max Call/Operator(%) ===&lt;br /&gt;
&lt;br /&gt;
This configuration parameter allows to limit the number of current calls depending on the number of operator registrations in the primary group. Only the configured percentage of operator registrations are accepted as calls. Calls currently connected to operators do count in this context. For example if 2 operators are registered and the value is set to 150%, the 4th call received will get a busy. Note that only operators in the primary group count for this, this means if there is no primary group configured all calls are rejected with busy if any value is entered here.&lt;br /&gt;
&lt;br /&gt;
=== Alert Timeout ===&lt;br /&gt;
&lt;br /&gt;
The timeout (in seconds) after which the Waiting Queue connects incoming calls. If no timeout is configured the Waiting Queue will never connect. If a timeout of 0 is configured the Waiting Queue connects right away.&lt;br /&gt;
&lt;br /&gt;
=== Round Robin Timeout ===&lt;br /&gt;
&lt;br /&gt;
If a round robin timeout is configured the call is not sent to all members of the primary group at the same time, but it starts with one only. After the round robin timeout has expired, the call is sent to all members of the primary group. The operator used for the first call changes in a round robin manner. If the checkmark &#039;&#039;&#039;Speedup if more calls waiting&#039;&#039;&#039; is set, the round robin timeout will be reduced as soon as a second call arrives.&lt;br /&gt;
&lt;br /&gt;
=== Primary Group/Timeout ===&lt;br /&gt;
&lt;br /&gt;
The call is sent to this group first, either to all members at the same time, or in a round robin manner. After the configured Primary Group Timeout expires the call is sent to all operators. If Primary group operators are busy the call is immediately sent to Secondary Groups members. Operators are all members of groups in which the Waiting Queue object itself is active member. The operators do not need to be active members of these groups. If Primary Group Timout is empty, the call is sent to primary and secondary group immediately.&lt;br /&gt;
&lt;br /&gt;
=== Support for RTP-DTMF ===&lt;br /&gt;
&lt;br /&gt;
If the announcement interface for a Waiting queue is not the PBX internal one and the calling endpoint can only do RTP-DTMF, the announcement interface receives the RTP-DTMF and not the waiting queue. When this checkmark is set, the &#039;&#039;&#039;uui-dtmf=on&#039;&#039;&#039; argument to the URL is added, which tells the announcement interface to send back the received DTMF as USER-INFO.&lt;br /&gt;
&lt;br /&gt;
This feature is needed for a Hosting Scenario where the PBX is located in a private network and the Media interface on a different system in the public network.&lt;br /&gt;
&lt;br /&gt;
=== Operator connect for SOAP ===&lt;br /&gt;
&lt;br /&gt;
On the SOAP/TAPI interface a call to a waiting queue is normally indicated as connected as soon it is connected signalingwise, this means it is indicated as connected if an announcement is played. This behaviour can be changed so that it is indicated connected only after an operator has accepted the call by setting this checkmark. This also will affect the PBX CDRs state accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Call busy Operators ===&lt;br /&gt;
&lt;br /&gt;
Normally an operator who is already engaged in a Waiting Object call is not called again. If this checkmark is set, calls are delivered to these (busy) operators as well.&lt;br /&gt;
&lt;br /&gt;
=== CFU disables Operator ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set a operator which has a CFU set is not called.&lt;br /&gt;
&lt;br /&gt;
=== No Mobility for Operators ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set, mobility for operators is not executed.&lt;br /&gt;
&lt;br /&gt;
=== Announcement w/o Connect ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set, no connect is sent on incoming calls to play the announcements. This feature allows to provide free-of-charge waiting queues. For this to work, the carrier has to support early media (and not all do, for example German Telekom is known to not support this feature as of December 2012 on ISDN lines). On TE ISDN interfaces the Annex-N option has to be enabled for this.&lt;br /&gt;
&lt;br /&gt;
=== Presence Disables Operator ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set, no calls are sent to an operator with presence information set.&lt;br /&gt;
&lt;br /&gt;
=== Set Operator Presence ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set the presence of an operator is set to busy whenever the operator accepts a call. A timeout can be set after which this presence information is cleared again after the call release.&lt;br /&gt;
&lt;br /&gt;
=== DTMF destinations ===&lt;br /&gt;
&lt;br /&gt;
A list of DTMF destinations can be configured. Any DTMF digits dialed after the call is connected to an announcement is matched to this list. If a match is found the call is sent to Dest. No/Dest. Name. If no Dest. No/Dest. Name is configured more DTMF digits may be dialed for the final destination. If the destination of the call is not an endpoint, but a gateway (Trunk object, Gateway object), the call is sent only after a timeout of 4s after the last digit is dialed.&lt;br /&gt;
&lt;br /&gt;
A &#039;.&#039; entered as DTMF map will catch all DTMF digits dialled after this map and append them at the end of &#039;&#039;Dest. No&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 DTMF	  Dest. No      Description&lt;br /&gt;
 55.       11            if the DTMF sequence &amp;quot;55222&amp;quot; is dialled, the destination number is &amp;quot;11222&amp;quot;&lt;br /&gt;
 .        &amp;lt;empty&amp;gt;        the dialled DTMF sequence is passed completely to the destination&lt;br /&gt;
&lt;br /&gt;
A &#039;~&#039; character before the DTMF destination indicates that no ct_complete shall be generated. This means the dialed DTMF destination does not show up in the redial list of the phone.&lt;br /&gt;
&lt;br /&gt;
== Call Forwarding ==&lt;br /&gt;
&lt;br /&gt;
Call Forwarding can be used with the Waiting Queue object and can be set/reset by endpoints registered to the Waiting Queue object itself.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CFU&#039;&#039;&#039;&lt;br /&gt;
|Executed as usual&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CFB&#039;&#039;&#039;&lt;br /&gt;
|Executed if the Busy on ... calls condition or the Max Call/Operator(%) condition applies.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CFNR&#039;&#039;&#039;&lt;br /&gt;
|Executed if the CFNR timeout expires and no operator has accepted the call, even if the call is connected to an announcement or if the first announcement ends and no second announcement is configured.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Edit_Rights&amp;diff=33604</id>
		<title>Reference9:PBX/Objects/Edit Rights</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Edit_Rights&amp;diff=33604"/>
		<updated>2014-05-14T13:53:00Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: /* Viewing only */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With this page PBX administration rights can be configured for a user. The user may login to the system using the &#039;Name&#039; and the &#039;Password&#039; configured in the User object as authentication.&lt;br /&gt;
&lt;br /&gt;
== Levels ==&lt;br /&gt;
&lt;br /&gt;
See note on [[Reference9:Services/HTTP/Server | &#039;&#039;Password protect all HTTP pages&#039;&#039; ]] for limitations when this flag is used. &lt;br /&gt;
&lt;br /&gt;
=== Full PBX Administration ===&lt;br /&gt;
&lt;br /&gt;
All settings of the PBX and PBX objects may be changed the same way as a system administrator can do. Including the rights for users.&lt;br /&gt;
&lt;br /&gt;
=== Administration of all Objects ===&lt;br /&gt;
&lt;br /&gt;
All settings of all PBX objects may be changed. The &#039;General&#039;, &#039;Password&#039; and &#039;Filter&#039; settings may not be changed.&lt;br /&gt;
&lt;br /&gt;
=== Administration of non critical Objects ===&lt;br /&gt;
&lt;br /&gt;
Objects which are marked as &#039;critical&#039; and the &#039;critical&#039; flag itself may not be changed.&lt;br /&gt;
&lt;br /&gt;
=== Groups/Call Forwards only ===&lt;br /&gt;
&lt;br /&gt;
Only group memberships and call forward settings of non-critical objects may be changed.&lt;br /&gt;
&lt;br /&gt;
=== Viewing only ===&lt;br /&gt;
You can only view the objects, it&#039;s not allowed to configure or change any settings.&lt;br /&gt;
&lt;br /&gt;
== Limit to Node ==&lt;br /&gt;
&lt;br /&gt;
Except for the &#039;Full PBX Administration&#039; right the rights to change any objects can also be limited to a single node.&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Edit_Rights&amp;diff=33603</id>
		<title>Reference9:PBX/Objects/Edit Rights</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Edit_Rights&amp;diff=33603"/>
		<updated>2014-05-14T13:52:46Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: /* Viewing only */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With this page PBX administration rights can be configured for a user. The user may login to the system using the &#039;Name&#039; and the &#039;Password&#039; configured in the User object as authentication.&lt;br /&gt;
&lt;br /&gt;
== Levels ==&lt;br /&gt;
&lt;br /&gt;
See note on [[Reference9:Services/HTTP/Server | &#039;&#039;Password protect all HTTP pages&#039;&#039; ]] for limitations when this flag is used. &lt;br /&gt;
&lt;br /&gt;
=== Full PBX Administration ===&lt;br /&gt;
&lt;br /&gt;
All settings of the PBX and PBX objects may be changed the same way as a system administrator can do. Including the rights for users.&lt;br /&gt;
&lt;br /&gt;
=== Administration of all Objects ===&lt;br /&gt;
&lt;br /&gt;
All settings of all PBX objects may be changed. The &#039;General&#039;, &#039;Password&#039; and &#039;Filter&#039; settings may not be changed.&lt;br /&gt;
&lt;br /&gt;
=== Administration of non critical Objects ===&lt;br /&gt;
&lt;br /&gt;
Objects which are marked as &#039;critical&#039; and the &#039;critical&#039; flag itself may not be changed.&lt;br /&gt;
&lt;br /&gt;
=== Groups/Call Forwards only ===&lt;br /&gt;
&lt;br /&gt;
Only group memberships and call forward settings of non-critical objects may be changed.&lt;br /&gt;
&lt;br /&gt;
=== Viewing only ===&lt;br /&gt;
you can only view the objects, it&#039;s not allowed to configure or change any settings.&lt;br /&gt;
&lt;br /&gt;
== Limit to Node ==&lt;br /&gt;
&lt;br /&gt;
Except for the &#039;Full PBX Administration&#039; right the rights to change any objects can also be limited to a single node.&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference:Configuration/ETH/DHCP-Server&amp;diff=33578</id>
		<title>Reference:Configuration/ETH/DHCP-Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference:Configuration/ETH/DHCP-Server&amp;diff=33578"/>
		<updated>2014-05-12T09:40:25Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: Typo!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If the DHCP server was enabled (see chapter entitled &amp;quot;[[Reference:Configuration/ETH/DHCP|Configuration/ETH0-1/DHCP]]&amp;quot;), it can be configured here.&lt;br /&gt;
&lt;br /&gt;
All settings marked with a &amp;quot;&#039;&#039;&#039;*&#039;&#039;&#039;&amp;quot; are innovaphone-specific settings that may only be found with innovaphone devices. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Lease Time [min]:&#039;&#039;&#039;&lt;br /&gt;
| The validity period of the DHCP lease in minutes.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Check Interval [min]:&#039;&#039;&#039;&lt;br /&gt;
| The interval (in minutes), at which a check is made whether the DHCP lease is still valid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Address Ranges: ==&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;First Address:&#039;&#039;&#039;&lt;br /&gt;
| The IP-Adresse that represents the start of the address range (for example, 192.168.1.100).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Last Address:&#039;&#039;&#039;&lt;br /&gt;
| The IP-Adresse that represents the end of the address range (for example, 192.168.1.110).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Offer Parameters: ==&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Network Mask:&#039;&#039;&#039;&lt;br /&gt;
| The network mask in respect of the IP-Adress (for example, 192.168.1.100 corresponds to the network mask 255.255.255.0).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Default Gateway:&#039;&#039;&#039;&lt;br /&gt;
| Standard router address (for example, 192.168.1.1).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;TOS Priority:&#039;&#039;&#039;&lt;br /&gt;
| ToS (Type of Service) value for voice packets (0x10).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;IP Routing:&#039;&#039;&#039;&lt;br /&gt;
| List of static IP-Routes in form of comma separated &#039;&#039;Address:Mask:Gateway&#039;&#039; triples (for example, 192.168.20.0:255.255.255.0:192.168.1.2,192.168.30.0:255.255.255.0:192.168.1.3).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;DNS Server 1:&#039;&#039;&#039;&lt;br /&gt;
| Primary DNS server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;DNS Server 2:&#039;&#039;&#039;&lt;br /&gt;
| Secondary DNS server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Domain Name:&#039;&#039;&#039;&lt;br /&gt;
| Domain name that client should use when resolving hostnames via DNS (aka primary DNS prefix).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Syslog Server:&#039;&#039;&#039;&lt;br /&gt;
| Syslog server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Time Server:&#039;&#039;&#039;&lt;br /&gt;
| Time server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Timezone String *:&#039;&#039;&#039;&lt;br /&gt;
| Time zone setting according to the IEEE POSIX standard (for example, CET-1CEST-2,M3.5.0/2,M10.5.0/3).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;TFTP Server:&#039;&#039;&#039;&lt;br /&gt;
| The TFTP server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;WINS Server:&#039;&#039;&#039;&lt;br /&gt;
| The WINS server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Primary Gatekeeper *:&#039;&#039;&#039;&lt;br /&gt;
| The primary gatekeeper IP address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Secondary Gatekeeper *:&#039;&#039;&#039;&lt;br /&gt;
| The alternative Gatekeeper IP address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Coder *:&#039;&#039;&#039;&lt;br /&gt;
| Coder preference for VoIP telephones. In addition to the preference for the general coder, the preference for the local network coder can be specified here (since V6.00 SR1-hotfix3). G729A,60/G711A,30 for example defines G729A as the general coder and G711A as the local network coder.    &lt;br /&gt;
You can enable SRTP on all phones by adding an &amp;quot;x&amp;quot; here like: G729A,60,x&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Gatekeeper Identifier *:&#039;&#039;&#039;&lt;br /&gt;
| The VoIP gatekeeper or the gatekeeper ID for VoIP telephones.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Dial Tones *:&#039;&#039;&#039;&lt;br /&gt;
| The dial tone that is transmitted as the standard dial tone to the VoIP telephones (for example, German PBX = as German PBX, US = US dial tone, UK = British dial tone).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Enblock Dialling Timeout [s] *:&#039;&#039;&#039;&lt;br /&gt;
| Switches on enbloc dialling for VoIP telephones.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Faststart [0|1] *:&#039;&#039;&#039;&lt;br /&gt;
| Faststart 0/1 turns off/on the H.323 Faststart procedure. If this option is not defined the default (on) applies. &lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Tunneling [0|1] *:&#039;&#039;&#039;&lt;br /&gt;
| Tunneling 0/1 turns off/on the H.245 Tunneling procedure. If this option is not defined the default (on) applies. &lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Local Networks *:&#039;&#039;&#039;&lt;br /&gt;
| List of local networks in form of comma separated &#039;&#039;Address:Mask&#039;&#039; pairs (for example, 192.168.1.0:255.255.255.0,192.168.2.0:255.255.255.0). For VoIP Calls that end up in a local network the device will try to use the coder preferred for the local network (as provided in the Coder option or defined locally). &lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Language *:&#039;&#039;&#039;&lt;br /&gt;
| All VoIP telephones that receive their IP-Adresse via DHCP have the language defined here set up as the standard language.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Dialing Location *:&#039;&#039;&#039;&lt;br /&gt;
| Defines the various PBX access numbers on VoIP telephones for directory access. This character string has to contain the following options:&lt;br /&gt;
* cc  = country code&lt;br /&gt;
* ac  = area code&lt;br /&gt;
* ntp = national trunk prefix (carrier specific)&lt;br /&gt;
* itp = international trunk prefix (carrier specific)&lt;br /&gt;
* col = external line prefix (PBX specific)&lt;br /&gt;
* pbx = subscriber number (used to map incoming called party numbers to internal extensions, PBX specific)&lt;br /&gt;
A correct string may look like this: &amp;quot;cc 49 ac 7031 ntp 0 itp 00 col 0 pbx 73009&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;AM/PM Clock [0|1]:&#039;&#039;&#039;&lt;br /&gt;
| Enables/disables the English time format for VoIP telephones. The German time format is displayed as standard: &amp;quot;dd.mm.yy hh:mm, 24-hour clock.&amp;quot; If a 1 is entered in this field, the English time format &amp;quot;mm/dd hh:mm xm, 12-hour am/pm clock&amp;quot; is displayed.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;LDAP Directory:&#039;&#039;&#039;&lt;br /&gt;
| To allocate a functioning LDAP configuration to all VoIP devices integrated via DHCP, a configuration character string can be entered in the LDAP Directory field. You obtain this configuration character string by executing the following command in the browser of a configured device: &amp;quot;&amp;lt;IP-Adresse of the VoIP device&amp;gt;/!mod cmd PHONE DIR ldap-config&amp;quot;. When this command has been executed, a configuration character string is output in the browser, which you copy and paste into the LDAP Directory field of the DHCP server. In this way, all further devices are given a correct LDAP configuration.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Update Interval [min]:&#039;&#039;&#039;&lt;br /&gt;
| All devices integrated via DHCP are assigned the interval specified here in the Interval [min] field of the update server (see chapter entitled &amp;quot;[[Reference:Configuration/General/Update|Configuration/General/Update]]&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Update Server URL:&#039;&#039;&#039;&lt;br /&gt;
| All devices integrated via DHCP are assigned the URL specified here (for example, &amp;lt;nowiki&amp;gt;http://192.168.1.2/update/script.htm&amp;lt;/nowiki&amp;gt;) in the Command File URL field of the update server (see chapter entitled &amp;quot;[[Reference:Configuration/General/Update|Configuration/General/Update]]&amp;quot;). An automated update of the devices is thereby ensured.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;802.1q VLAN ID:&#039;&#039;&#039;&lt;br /&gt;
| The configuration at the switch must be observed for setting the VLAN ID. An empty 802.1q VLAN ID field (16 bit) assumes the value 0. The VLAN ID with the value 0 switches QoS (Quality of Service) off according to 802.1q ab. If the switch at the port to the innovaphone device happens to be configured to a different VLAN ID, the same value must be specified here to allow a prioritisation from the Ethernet. To be able to distinguish between the VLANs, the Ethernet packet is extended by 4 bytes, of which 12 bits are intended for the inclusion of the VLAN ID, making 4094 VLANs possible (VLAN ID 0 and 4095 are reserved or invalid).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;802.1p VLAN Priority&#039;&#039;&#039;&lt;br /&gt;
| In the 802.1p VLAN Priority field (3 bit), the associated VLAN priority level (a value between 0 and 7) can be specified, in order that voice data is given priority forwarding, for example.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DHCP Vendor-Optioncodes==&lt;br /&gt;
&lt;br /&gt;
For a description howto implement the Innovaphone DHCP-Options in Microsoft or Linux DHCP Server Software refer to&lt;br /&gt;
[[Howto:DHCP client]]&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Pcap&amp;diff=33533</id>
		<title>Howto:Pcap</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Pcap&amp;diff=33533"/>
		<updated>2014-05-08T09:19:11Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: /* log2pcap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With remote PCAP, network traffic can be captured directly from another network device, instead of capturing the network traffic from the own device.&lt;br /&gt;
&lt;br /&gt;
==Remote PCAP==&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
* You should have installed the latest wireshark release 1.10.6 with the latest innovaphone dll [http://www.wireshark.org/download.html Wireshark Download]&lt;br /&gt;
* Required and optional tools (innovaphone_winXX.dll and log2pcap.exe): open the [http://download.innovaphone.com/ice/download/p/6.00/apps/ V6 application page], select the latest 60000xxx folder and download the &#039;&#039;&#039;tools.zip&#039;&#039;&#039;. You will just need the innovaphone_win32.dll or innovaphone_win64.dll, depending on your installed wireshark version, 32 bit or 64 bit. Older wireshark versions won&#039;t work with the latest innovaphone_winXX.dll!&lt;br /&gt;
* To view the standard debug output, you have to install the innovaphone_winXX.dll, which you&#039;ll find in the tools package. Just copy the dll to your wireshark plugin directory and pay attention on your currently used version (e.g.: c:\programme\wireshark\plugins\1.6.0\).&lt;br /&gt;
* To view ISDN LAPD/Q.931 packets, you also have to install the innovaphone.dll.&lt;br /&gt;
* Open the [http://wiki.innovaphone.com/index.php?title=Image:Pcap_example_isdn.zip example pcap file with lapd and q.931 packets] to check your current installation. It should look like this, if you have the innovaphone_winXX.dll correctly installed:&lt;br /&gt;
&lt;br /&gt;
[[Image:Pcap_sample_isdn.jpg|center|thumb|200px|PCAP ISDN example]]&lt;br /&gt;
&lt;br /&gt;
===Setting up the rpcap server===&lt;br /&gt;
&lt;br /&gt;
* The rpcap server can be any innovaphone device. &lt;br /&gt;
* The remote pcap server is disabled per default. To enable it, just go to Diagnostics-&amp;gt;Tracing and check the &amp;quot;Enable&amp;quot; flag in the &amp;quot;Remote PCAP&amp;quot; group. If you are experiencing problems, also enable the trace flag with &amp;quot;config add PCAP /trace&amp;quot;.&lt;br /&gt;
* To capture all ip traffic (udp and tcp), enable the &amp;quot;IP (all tcp/udp traffic)&amp;quot; flag in the group &amp;quot;IP&amp;quot;. Otherwise just enable all the trace flags on the modules you want to capture.&lt;br /&gt;
&lt;br /&gt;
===Capturing with wireshark===&lt;br /&gt;
&lt;br /&gt;
===1.x.x - 1.7.x===&lt;br /&gt;
Open your wireshark and the capture options dialogue. Choose &amp;quot;remote&amp;quot; from the dropdown list and &lt;br /&gt;
Type &amp;quot;&amp;lt;IP-ADDRESS&amp;gt;/TRACE&amp;quot; into the host field.&lt;br /&gt;
&lt;br /&gt;
It should look like this: (Screenshot from older Wireshark, v.1.2.2)&lt;br /&gt;
[[Image:Wireshark_1.2.2_trace_settings.PNG|center|thumb|200px|Wireshark capture options]]&lt;br /&gt;
&lt;br /&gt;
Then just click on &amp;quot;Start&amp;quot; to start capturing.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;gt;= 1.8.x ===&lt;br /&gt;
&lt;br /&gt;
Open your wireshark and „Capture Options“-&amp;gt;“Manage Interfaces“-&amp;gt;“Remote Interfaces“. Add the IP address of your device.&amp;lt;br&amp;gt;&lt;br /&gt;
The remote interface will be listed in your interface now and you can select it for capturing data.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wireshark_1.8.6_settings.png|center|thumb|200px|Wireshark capture options]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Supported protocols===&lt;br /&gt;
&lt;br /&gt;
* ISDN: LAPD L2/L3 with dissector innovaphone.dll (enable Diagnostics-&amp;gt;Tracing TELX/PRIX/PPP)&lt;br /&gt;
* AC DSP: dsp with dissector Ac49xPacketRecording.dll (enable Diagnostics-&amp;gt;Tracing-&amp;gt;VOIP DSP)&lt;br /&gt;
* PPPoE: flag &amp;quot;/pcap&amp;quot; on module(s) PPPOE0/PPPOE1 enables pcap tracing&lt;br /&gt;
&lt;br /&gt;
* All TCP/UDP protocols which are supported by native wireshark dissectors or other dissectors which can be found searching the internet.&lt;br /&gt;
e.g.:&lt;br /&gt;
SIP&lt;br /&gt;
H.323&lt;br /&gt;
H.245&lt;br /&gt;
&lt;br /&gt;
Enable the corresponding flags under Diagnostics-&amp;gt;Tracing, if you only want to see specific UDP/TCP protocols. To see all, enable the &amp;quot;All TCP/UDP Traffic&amp;quot; flag under Diagnostics-&amp;gt;Tracing.&lt;br /&gt;
&lt;br /&gt;
==PCAP Log==&lt;br /&gt;
&lt;br /&gt;
Another possibility to get a pcap log file is to open http://IP/log.pcap&lt;br /&gt;
This file has a limited size just as the normal log file.&lt;br /&gt;
&lt;br /&gt;
==log2pcap==&lt;br /&gt;
&lt;br /&gt;
You need the tool log2pcap from the tools package, if you have a log.txt file, which contains pcap packets and you want to view them in wireshark. You can find the tool in the apps tool package (see above).&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
# log2pcap.exe input1 input2 ... inputX&lt;br /&gt;
# drag&amp;amp;drop one or more files on the log2pcap.exe&lt;br /&gt;
# use an asterisk like &amp;quot;log2pcap c:\*.txt&amp;quot; to convert all txt files into pcap files. Things like c:\test*.txt are not supported.&lt;br /&gt;
&lt;br /&gt;
* The resulting file name is always inputx.pcap (e.g. log.txt is converted into log.txt.pcap).&lt;br /&gt;
&lt;br /&gt;
Note: if you have a trace of a little endian box (e.g. IP3000, IP21) with V6 SR1 or SR2, you have to use the &amp;quot;-srlefix&amp;quot; switch (available since 08-1007):&lt;br /&gt;
&lt;br /&gt;
log2pcap.exe input1 -srlefix&lt;br /&gt;
&lt;br /&gt;
==General Informations==&lt;br /&gt;
&lt;br /&gt;
===Reading PCAP Traces===&lt;br /&gt;
&lt;br /&gt;
Non-IP Pcap packets will nevertheless show source and destination IP addresses.   127.0.0.1 stand in for the traced device.  So if for example a Q.931 SETUP messages is sent from 127.0.0.0 to 127.0.0.1, then it is an incoming setup.&lt;br /&gt;
&lt;br /&gt;
===Disabling PCAP traces===&lt;br /&gt;
&lt;br /&gt;
You can disable the whole pcap tracing. Just configure a /disable-pcap to the CMD0 module. This can be useful if you do not want to see pcap traces in your log file.&lt;br /&gt;
&lt;br /&gt;
===Used ports===&lt;br /&gt;
&lt;br /&gt;
* The debug traces are encapsulated in UDP packets with port 4.&lt;br /&gt;
* The isdn traces are encapsulated in UDP packets with port 4.&lt;br /&gt;
* The ac dsp traces are encapsulated in UDP packets with port 50001.&lt;br /&gt;
* Wireshark uses port 2002 to connect to the running rpcap-server&lt;br /&gt;
* rpcap packets are transfered over a dynamically assigned port between server and client&lt;br /&gt;
&lt;br /&gt;
===Additional Remote PCAP trace===&lt;br /&gt;
&lt;br /&gt;
You can trace the remote pcap protocol with adding the trace flag by &amp;quot;config add PCAP /trace&amp;quot; if you are experiencing connection issues.&lt;br /&gt;
&lt;br /&gt;
===Timestamps===&lt;br /&gt;
&lt;br /&gt;
Since V7 Hotfix 26 and V8 Hotfix 13, the ntp timestamp is used instead of the uptime in rpcap packages. In converted log files with log2pcap, uptime is still used.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
&lt;br /&gt;
* Converting a log from a little endian box (like IP3000 and IP21) with firmware V6 SR1 or SR2 with the tool log2pcap will only work with log2pcap 08-1007 or higher and the switch &amp;quot;-srlefix&amp;quot;, see [[:#log2pcap|log2pcap]].&lt;br /&gt;
* Ac49xPacketRecording.dll works only with 0.99.7. Higher versions of wireshark won&#039;t start, if this dll was copied to the dll folder!&lt;br /&gt;
* Also some other dlls, contained in the tools package, won&#039;t work with each wireshark version. Just innovaphone.dll is always working.&lt;br /&gt;
* Even though &#039;&#039;All TCP/UDP Traffic&#039;&#039; is turned on, packets sent to the box acting as rpcap provider to a port that is not handled by the box (that is, where no listening socket is active) will currently not be shown&lt;br /&gt;
* If you use a 64-bit Windows Pc then you will need another innovaphone.dll, which is also contained in the latest tool package.&lt;br /&gt;
* The custom IP header from captured innovaphone packets contains dummy values for TOS (0), id (0), fragment offset (0) and TTL (128)&lt;br /&gt;
* After version 1.8.6 of wireshark the h225 packets are listed as malformed. So higher versions of wireshark could give troubles debugging the h.323 calls.&lt;br /&gt;
* &#039;&#039;&#039;Couldn&#039;t set the capture buffer size!&#039;&#039;&#039;: if you&#039;re experiencing this error message, please start wireshark with the option &amp;quot;-B 1&amp;quot; to set the buffer size to 1 MB&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&amp;lt;!-- Kewwords: sniffer ethereal packet capture network monitor --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Gateway/CGPN-Maps&amp;diff=33530</id>
		<title>Reference9:Gateway/CGPN-Maps</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Gateway/CGPN-Maps&amp;diff=33530"/>
		<updated>2014-05-07T14:27:02Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: /* Presentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CGPN (Calling Party Number) can be changed with mappings entered here for a call sent thru the respective route. A headmatch of the received number is performed and the matching digits are replaced by the out digits. &#039;?&#039; can be used to match any digit.&lt;br /&gt;
&lt;br /&gt;
If the call is received from an interface configured as Gatekeeper/Registrar, the mapping can be restricted to a certain registration.&lt;br /&gt;
&lt;br /&gt;
On presentation restricted numbers can be matched and the presentation restricted property of a calling party number can be set or cleared.&lt;br /&gt;
&lt;br /&gt;
The DGPN (Diverting Party Number) is also changed according to the configured CGPN mapping.&lt;br /&gt;
&lt;br /&gt;
If there are multipe CGPN-Maps, only the first one matching is used.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== GK Reg. Name ===&lt;br /&gt;
&lt;br /&gt;
If configured, the mapping is applied only if the call is received from a Gatekeeper/Registrar interface and the name configured for the registration matches this name.&lt;br /&gt;
&lt;br /&gt;
=== Number In ===&lt;br /&gt;
&lt;br /&gt;
Digits used for the headmatch on the received number. In addition to the normal dialing digits (0..9,*,#) the following characters have special meaning:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;R: If &#039;R&#039; is used as first digit of the number only numbers with &#039;presentation restricted&#039; match. In this case the &#039;presentation restricted&#039; property is cleared if &#039;R&#039; is not used on &#039;Number Out&#039;.&lt;br /&gt;
&lt;br /&gt;
;?: Can be used at any place inside the number and means that any received digit matches.&lt;br /&gt;
&lt;br /&gt;
;.: Can be used at any place inside the number and means that any received digit matches. All input digits starting with the first digit matching to &#039;.&#039; are copied to the output number.&lt;br /&gt;
&lt;br /&gt;
;!: Can be used at the end of the number. It indicates that all digits received behind the matching digits shall be discarded.&lt;br /&gt;
&lt;br /&gt;
=== Number Out ===&lt;br /&gt;
&lt;br /&gt;
The matching digits are replaced by this number. A&#039;? is used as placeholder to be replaced by digits matched to &#039;?&#039; in number in. A &#039;R&#039; as first character means that the &#039;presentation restricted&#039; property will be set for the calling party number.&lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
&lt;br /&gt;
By using &#039;Set Presentation Restricted&#039;, CLIR (Calling Line Identification Restricted) can be activated. With &#039;Clear Presentation Restricted&#039; CLIR is deactivated. This is a more convenient way to configure CLIR manipulation than using &#039;R&#039; in Number-In or Number-Out. If &#039;Clear Presentation Restricted&#039; is activated the map matches only to calls with the presentation restricted set. Together with the &#039;Verify CGPN&#039; flag at the route this can be used to route calls with CLIR differently.&lt;br /&gt;
&lt;br /&gt;
=== Screening ===&lt;br /&gt;
&lt;br /&gt;
With this the Screening Indicator of the Calling Party Number can be set to &#039;User provided&#039;, &#039;User provided and verified&#039;, &#039;User provided verify failed&#039; and &#039;Network provided&#039;. Only used to solve compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== Samples ==&lt;br /&gt;
&lt;br /&gt;
=== !-&amp;gt;0 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN is completely replaced by 0&lt;br /&gt;
&lt;br /&gt;
=== 12-&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of 1234 is changed to 34&lt;br /&gt;
&lt;br /&gt;
=== 12-&amp;gt;34 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of 1234 is changed to 3434&lt;br /&gt;
&lt;br /&gt;
=== 12??-&amp;gt;56 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of 12345 is changed to 565&lt;br /&gt;
&lt;br /&gt;
=== 12??!-&amp;gt;56 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of 12345 is changed to 56&lt;br /&gt;
&lt;br /&gt;
=== R12-&amp;gt;34 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of R1234 is changed to 3434. Only restricted numbers starting with 12 match.&lt;br /&gt;
&lt;br /&gt;
=== 12-&amp;gt;R34 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of 1234 is changed to R3434. Any number starting with 12 matches.&lt;br /&gt;
&lt;br /&gt;
=== 1..-&amp;gt;2 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of 1234 is changed to 2234. Any number starting with 1 matches.&lt;br /&gt;
&lt;br /&gt;
=== 1..!-&amp;gt;2 ===&lt;br /&gt;
&lt;br /&gt;
An incoming CGPN of 1234 is changed to 223. Any number starting with 1 matches.&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:General/Admin&amp;diff=33441</id>
		<title>Reference10:General/Admin</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:General/Admin&amp;diff=33441"/>
		<updated>2014-04-30T13:07:57Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: /* Help URL */  removed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Basic parameters for the Administration access of the device are configured here.&lt;br /&gt;
&lt;br /&gt;
== Device Name ==&lt;br /&gt;
&lt;br /&gt;
The name of the device. This name is displayed in the browser as a title. It is also added to the product id sent with outgoing registrations. This way it is displayed e.g. on the registrations page of the PBX.&lt;br /&gt;
&lt;br /&gt;
== User/Password ==&lt;br /&gt;
&lt;br /&gt;
The administrator account. This account can be used for telnet access (if configured) and all password protected pages of the web user interface. By default all pages except Administration/General/Info are password protected. The web server of the device can be configured to protect all pages. The password has to be entered twice.&lt;br /&gt;
&lt;br /&gt;
The password cannot be left empty. If an empty password is entered, the password won&#039;t be changed.&lt;br /&gt;
The length of the password is limited to 15 characters.&lt;br /&gt;
&lt;br /&gt;
== Additional Administrator Accounts ==&lt;br /&gt;
&lt;br /&gt;
Additional user accounts. These user accounts can have viewer or full administrator privileges.&lt;br /&gt;
&lt;br /&gt;
== Help URL ==&lt;br /&gt;
&lt;br /&gt;
The URL to access the online help. By default an URL of &amp;lt;nowiki&amp;gt;&amp;quot;http://wiki.innovaphone.com/index.php?Title=Reference&amp;lt;major firmware version number&amp;gt;:&amp;lt;page name&amp;gt;&amp;quot;&amp;lt;/nowiki&amp;gt; is used. This links to online help pages in the Reference namespace of the innovaphone wiki.&lt;br /&gt;
&lt;br /&gt;
For example on a V9 device configure following Help URL to link to the local wikitogo installation:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;http://192.168.0.100:8081/index.php?Title=Reference9:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delegated Authentication ==&lt;br /&gt;
In v8 devices can delegate authentication of administrative users to an authentication server using Kerberos. To enable remote user authentication the device has to join the realm of an innovaphone Kerberos server. Delegated authentication can only be used with HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Join realm ===&lt;br /&gt;
&lt;br /&gt;
The server location of the realm has to be configured, first (see section &amp;quot;Authentication Servers&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Join realm&amp;quot; and specify the username and password of an administrator in the target realm to add the device to the remote host database. This works only with innovaphone servers. If you want to authenticate users from a third-party server setup cross-realm authentication.&lt;br /&gt;
&lt;br /&gt;
=== Leave realm ===&lt;br /&gt;
&lt;br /&gt;
An administrator username and password from the realm is needed to deregister from the realm and remove the device from the remote host database. If the server does not exist any longer the registration can be deleted manually.&lt;br /&gt;
&lt;br /&gt;
=== Default user realm ===&lt;br /&gt;
&lt;br /&gt;
This is the default Kerberos realm that shall be used if users log-in without specifying a realm.&lt;br /&gt;
&lt;br /&gt;
 \user -&amp;gt; example.com\user&lt;br /&gt;
 user@ -&amp;gt; user@example.com&lt;br /&gt;
&lt;br /&gt;
If no default user realm is configured, the Kerberos realm of the box is used. So the parameter is only needed if users and devices are members of different realms.&lt;br /&gt;
&lt;br /&gt;
=== Disable local authentication ===&lt;br /&gt;
&lt;br /&gt;
If this option is selected only users from the Kerberos server are accepted. Logins using local administrator accounts will be rejected. Activating this feature together with [[Reference9:Phone/Protect|&amp;quot;Protect configuration at phone&amp;quot;]] option will disable you to make any changes on the phone.&lt;br /&gt;
&lt;br /&gt;
== Authentication Servers ==&lt;br /&gt;
&lt;br /&gt;
The addresses of Kerberos servers have to be configured locally on each host or client device.&lt;br /&gt;
&lt;br /&gt;
If there is no server configured for a realm, the device will try to locate it using DNS. The Kerberos server is looked up in the following SRV record.&lt;br /&gt;
 &lt;br /&gt;
 _kerberos._udp.REALM  &#039;&#039;(e.g. _kerberos._udp.example.com)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Normally this should work for Windows servers in the LAN.&lt;br /&gt;
== Debugging ==&lt;br /&gt;
If you have trouble you may want to set &amp;lt;code&amp;gt;config add CMD0 /kerberos-trace&amp;lt;/code&amp;gt; (and activate it) on the device you try to log-in to.  On the kerberos server (if it is an innovaphone box), you can set the &#039;&#039;Kerberos Server&#039;&#039; check marks in &#039;&#039;Maintenance/Diagnostics/Logging&#039;&#039; and &#039;&#039;Maintenance/Diagnostics/Tracing&#039;&#039;.  Also keep in mind that kerberos-based authentication is &#039;&#039;&#039;only available with HTTPS&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:PBX/Objects/Waiting_Queue&amp;diff=33402</id>
		<title>Reference10:PBX/Objects/Waiting Queue</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:PBX/Objects/Waiting_Queue&amp;diff=33402"/>
		<updated>2014-04-25T09:36:12Z</updated>

		<summary type="html">&lt;p&gt;Muelbuesch: /* Primary Group/Timeout */  typo removed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Waiting Queue PBX object is used to put calls sent to this object into a queue. While the call is in the queue, it may either remain in alerting state or it be connected with an announcement played. Two announcements can be configured played one after the other, the second is repeated. Calls which are in the queue can be sent to groups of operators configured for the queue. Calls are strictly sent in a first in first out manner to operators. The next call is sent only after the previous call is connected. Destinations can be configured, which can be dialed using DTMF while a call is in the queue and connected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Waiting Queue PBX object does not support DTMF tone detection. Only &#039;telephone-event&#039; (RFC-2833) or DTMF signalling (H.245 User Input Indication / SIP INFO(dtmf-relay)) are supported.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Addressing ===&lt;br /&gt;
&lt;br /&gt;
The Long Name, Name Number and Node configuration parameters have the same meaning as for any other object.&lt;br /&gt;
&lt;br /&gt;
=== Registration ===&lt;br /&gt;
&lt;br /&gt;
Hardware ID, PBX, Send Number, Password, Filter, Diversion Filter and Group Indications are used only for endpoints registered directly to the Waiting Queue object. This maybe useful to set diversions for the Waiting Queue object and such endpoints can be used to make calls and are treated as operators of the Waiting Queue.&lt;br /&gt;
&lt;br /&gt;
=== CFNR Timeout ===&lt;br /&gt;
&lt;br /&gt;
The timeout used for call forward no response. See Diversions.&lt;br /&gt;
&lt;br /&gt;
=== Busy On ... Calls ===&lt;br /&gt;
&lt;br /&gt;
This configuration parameter can be used to limit the calls in the queue. Calls connceted to a operator do not count in this respect anymore.&lt;br /&gt;
&lt;br /&gt;
=== Announcements ===&lt;br /&gt;
&lt;br /&gt;
For announcements the URL and/or Extern Name/no have to be configured. If no Extern Name/no is configured the local HTTP interface is used to retrieve the announcements. The URL has the following format:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/&amp;lt;filename.$coder&amp;gt;?coder=&amp;lt;coder-list&amp;gt;[&amp;amp;repeat=true|repeat=n|disc=true|random=true|record=true]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;addr&#039;&#039;&#039;&lt;br /&gt;
|The IP address of the web server. A DNS name cannot be used here.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;filename.$coder&#039;&#039;&#039;&lt;br /&gt;
|The filename of the announcement files including any path. $coder will be replaced by the actual coder used.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;coder-list&#039;&#039;&#039;&lt;br /&gt;
|A comma seperated list of all available coder. For each coder in the list the respective announcement file must be available on the server. The available coders are g729,g711a,g711u,g723.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;repeat=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present the announcement will be repeated. If this is used for the 1st Announcement the 2nd Announcement will never be played.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;repeat=&amp;lt;n&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|If this is present the announcement will be repeated another n times.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;disc=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present, the call will be disconnected as soon as the announcement URL is played (that is, when the source file &lt;br /&gt;
-- scheint nicht zu tun auch nicht, wenn man es in die zweite URL reintut&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;fallback=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present and the specified announcement file is not available, the built-in MOH pattern will be played.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;random=true&#039;&#039;&#039;&lt;br /&gt;
|If this is present, the announcement will be started at a random offset, so each caller will hear it from a different point in time.  This works with non-local URLs only though.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://145.253.157.2/announce/welcome.$coder?coder=g711a,g711u,g729&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no URL is configured the local HTTP interface plays the built-in music on hold by default.&lt;br /&gt;
&lt;br /&gt;
If an Extern Name/No is configured then no local HTTP interface is used, but a call is sent to the configured Name/No. The URL is sent with this call as user-user-info, so that a remote HTTP interface can use it the same way as the local HTTP interface. As destination of the call any voip endpoint can be used.&lt;br /&gt;
&lt;br /&gt;
1st announcement is played once when the call is connected. When 1st announcement is complete, the 2nd announcement is played repeatedly.  If there is no 2nd announcement, the caller will be disconnected when the 1st announcement has completed.&lt;br /&gt;
&lt;br /&gt;
There are 2 pseudo URLs available, TONE and MOH.  Such URLs will be interpreted locally and connect to the systems tone and music-on-hold interface, respectively.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;TONE&#039;&#039;&#039;&lt;br /&gt;
|as URL will produce a constant tone (often recogonized as a dial-tone).  You can add a &#039;&#039;&#039;?tone=ringback&#039;&#039;&#039; which will give you a tone sequence with 1 second tone and 4 seconds silence (this is often recognized as a ring-back tone).&lt;br /&gt;
&lt;br /&gt;
You can also add a &#039;&#039;&#039;?tone=busy&#039;&#039;&#039; which will give you a busy tone sequence. Notice that the queue is only playing the busy tone, it will not disconnect the call. (To disconnect the call after a while, use the CFNR to a not existing user or to a Disconnect user object, routed to the DISC interface.)&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;MOH&#039;&#039;&#039;&lt;br /&gt;
|will produce the built-in music-on-hold.  Please note that both TONE and MOH never end, so &#039;&#039;&#039;repeat=true&#039;&#039;&#039; is not required and &#039;&#039;&#039;disc=true&#039;&#039;&#039; will have no effect.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V7 hotifx9&#039;&#039;&#039;: At any location inside the URL placeholders can be used, which are replaced by a string defined for the placeholder. The following placeholders are available:&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;#p&#039;&#039;&#039;&lt;br /&gt;
|Position of this call within the queue. &#039;&#039;&#039;0&#039;&#039;&#039; means the next available operator will answer this call.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;##&#039;&#039;&#039;&lt;br /&gt;
|Is replaced by &#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://145.253.157.2/announce/queue_place#p.$coder?coder=g711a,g711u,g729&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will be resolved to the files &#039;&#039;queue_place1.g711a&#039;&#039;,&#039;&#039;queue_place2.g711a&#039;&#039;, &#039;&#039;queue_place3.g711a&#039;&#039;...., depended on place in queue. So you have to create one set of prompt files for each queue place.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recomended solution:&#039;&#039;&#039; Create a &#039;&#039;welcome&#039;&#039; prompt in 1st Announcement and a &#039;&#039;queue_place&#039;&#039; prompt (witch will be repeated) in 2nd Announcement. This way the every time the 2nd Announcement it&#039;s repeated it will provide the queue position to the caller.&lt;br /&gt;
&lt;br /&gt;
=== Max Call/Operator(%) ===&lt;br /&gt;
&lt;br /&gt;
This configuration parameter allows to limit the number of current calls depending on the number of operator registrations in the primary group. Only the configured percentage of operator registrations are accepted as calls. Calls currently connected to operators do count in this context. For example if 2 operators are registered and the value is set to 150%, the 4th call received will get a busy. Note that only operators in the primary group count for this, this means if there is no primary group configured all calls are rejected with busy if any value is entered here.&lt;br /&gt;
&lt;br /&gt;
=== Alert Timeout ===&lt;br /&gt;
&lt;br /&gt;
The timeout (in seconds) after which the Waiting Queue connects incoming calls. If no timeout is configured the Waiting Queue will never connect. If a timeout of 0 is configured the Waiting Queue connects right away.&lt;br /&gt;
&lt;br /&gt;
=== Round Robin Timeout ===&lt;br /&gt;
&lt;br /&gt;
If a round robin timeout is configured the call is not sent to all members of the primary group at the same time, but it starts with one only. After the round robin timeout has expired, the call is sent to all members of the primary group. The operator used for the first call changes in a round robin mannor. If the checkmark &#039;&#039;&#039;Speedup if more calls waiting&#039;&#039;&#039; is set, the round robin timeout will be reduced as soon as a second call arrives.&lt;br /&gt;
&lt;br /&gt;
=== Primary Group/Timeout ===&lt;br /&gt;
&lt;br /&gt;
The call is sent to this group first, either to all members at the same time, or in a round robin manner. After the configured Primary group Timeout expires the call is sent to all operators. If Primary group operators are busy the call is immediately sent to Secondary Groups members. Operators are all members of groups in which the Waiting Queue object itself is active member. The operators do not need to be active members of these groups.&lt;br /&gt;
&lt;br /&gt;
=== Support for RTP-DTMF ===&lt;br /&gt;
&lt;br /&gt;
If the announcement interface for a Waiting queue is not the PBX internal one and the calling endpoint can only do RTP-DTMF, the announcement interface receives the RTP-DTMF and not the waiting queue. When this checkmark is set, the &#039;&#039;&#039;uui-dtmf=on&#039;&#039;&#039; argument to the URL is added, which tells the announcement interface to send back the received DTMF as USER-INFO.&lt;br /&gt;
&lt;br /&gt;
This feature is needed for a Hosting Scenario where the PBX is located in a private network and the Media interface on a different system in the public network.&lt;br /&gt;
&lt;br /&gt;
=== Operator connect for SOAP ===&lt;br /&gt;
&lt;br /&gt;
On the SOAP/TAPI interface a call to a waiting queue is normally indicated as connected as soon it is connected signalingwise, this means it is indicated as connected if an announcement is played. This behaviour can be changed so that it is indicated connected only after an operator has accepted the call by setting this checkmark.&lt;br /&gt;
&lt;br /&gt;
=== Call busy Operators ===&lt;br /&gt;
&lt;br /&gt;
Normally an operator who is already engaged in a Waiting Object call is not called again. If this checkmark is set, calls are delivered to these (busy) operators as well.&lt;br /&gt;
&lt;br /&gt;
=== CFU disables Operator ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set a operator which has a CFU set is not called.&lt;br /&gt;
&lt;br /&gt;
=== No Mobility for Operators ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set, mobility for operators is not executed.&lt;br /&gt;
&lt;br /&gt;
=== Announcement w/o Connect ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set, no connect is sent on incoming calls to play the announcements. This feature allows to provide free-of-charge waiting queues. For this to work, the carrier has to support early media (and not all do, for example German Telekom is known to not support this feature as of December 2012 on ISDN lines). On TE ISDN interfaces the Annex-N option has to be enabled for this.&lt;br /&gt;
&lt;br /&gt;
=== Presence Disables Operator ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set, no calls are sent to an operator with presence information set.&lt;br /&gt;
&lt;br /&gt;
=== Set Operator Presence ===&lt;br /&gt;
&lt;br /&gt;
If this checkmark is set the presence of an operator is set to busy whenever the operator accepts a call. A timeout can be set after which this presence information is cleared again after the call release.&lt;br /&gt;
&lt;br /&gt;
=== DTMF destinations ===&lt;br /&gt;
&lt;br /&gt;
A list of DTMF destinations can be configured. Any DTMF digits dialed after the call is connected to an announcement is matched to this list. If a match is found the call is sent to Dest. No/Dest. Name. If no Dest. No/Dest. Name is configured more DTMF digits may be dialed for the final destination. If the destination of the call is not an endpoint, but a gateway (Trunk object, Gateway object), the call is sent only after a timeout of 4s after the last digit is dialed.&lt;br /&gt;
&lt;br /&gt;
A &#039;.&#039; entered as DTMF map will catch all DTMF digits dialled after this map and append them at the end of &#039;&#039;Dest. No&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 DTMF	  Dest. No      Description&lt;br /&gt;
 55.       11            if the DTMF sequence &amp;quot;55222&amp;quot; is dialled, the destination number is &amp;quot;11222&amp;quot;&lt;br /&gt;
 .        &amp;lt;empty&amp;gt;        the dialled DTMF sequence is passed completely to the destination&lt;br /&gt;
&lt;br /&gt;
A &#039;~&#039; character before the DTMF destination indicates that no ct_complete shall be generated. This means the dialed DTMF destination does not show up in the redial list of the phone.&lt;br /&gt;
&lt;br /&gt;
== Call Forwarding ==&lt;br /&gt;
&lt;br /&gt;
Call Forwarding can be used with the Waiting Queue object and can be set/reset by endpoints registered to the Waiting Queue object itself.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CFU&#039;&#039;&#039;&lt;br /&gt;
|Executed as usual&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CFB&#039;&#039;&#039;&lt;br /&gt;
|Executed if the Busy on ... calls condition or the Max Call/Operator(%) condition applies.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;CFNR&#039;&#039;&#039;&lt;br /&gt;
|Executed if the CFNR timeout expires and no operator has accepted the call, even if the call is connected to an announcement or if the first announcement ends and no second announcement is configured.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Muelbuesch</name></author>
	</entry>
</feed>