<?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=Ole</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=Ole"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Ole"/>
	<updated>2026-05-05T21:10:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Priority_calls&amp;diff=60746</id>
		<title>Howto:Priority calls</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Priority_calls&amp;diff=60746"/>
		<updated>2022-01-10T11:08:04Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:3rd Party Input}}&lt;br /&gt;
In the scenario there are one or several extensions that always have priority when calling to other users. &lt;br /&gt;
&lt;br /&gt;
This is a typical ship scenario where calls from Bridge always have highest priority. If the called party is busy, his call will be put on hold until the call from Bridge is finished.&lt;br /&gt;
&lt;br /&gt;
Also some other locations have priority, example calls from Engine room and Engine Control Room to Bridge. To create this function, look to [[Howto:Multiple_Emergency_Calls]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here the request in detail:&lt;br /&gt;
&lt;br /&gt;
*The priority calls must have a priority over eventual other existing calls. &lt;br /&gt;
&lt;br /&gt;
*Priority calls can be set up as ordinary calls or as announcement calls.&lt;br /&gt;
&lt;br /&gt;
*If the called extension is busy the far party must go automatically in a hold status and should not participate in the emergency conversation. &lt;br /&gt;
&lt;br /&gt;
*At the end of the emergency call the previous caller should be connected again if the called user like that (and in the meantime the call has not dropped).&lt;br /&gt;
&lt;br /&gt;
*If a priority outgoing call (from Bridge) is up and a second incoming priority call (from Engine to Bridge) is done, the last call signals as “call waiting”. &lt;br /&gt;
&lt;br /&gt;
*If several priority calls (from Engine and Engine Control Room to Bridge) is dialing, these calls have to be connected to the same conference call.&lt;br /&gt;
&lt;br /&gt;
*The feature should work on busy and idle user, the caller has to dial always the same number.&lt;br /&gt;
&lt;br /&gt;
Here how it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
Tested with version 13 (should work from version 10, not tested)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: emergency, priority, ship, boat, bridge, BCconf, conference --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Announcement Calls===&lt;br /&gt;
Create a DTMF object and activate the feature Announcement call. Example: #$(3). It means that if you dial # followed by internal extension number, in our example three digits, the call is set up as an announcement call.&lt;br /&gt;
For all users that shall receive announcement calls, set Phone Preferences (in template, user or phone) to Announcement Calls, Incoming: Micro On.&lt;br /&gt;
For all users that shall send announcement calls, set Phone Preferences (in template, user or phone) to Announcement Calls, Outgoing: Allow.&lt;br /&gt;
&lt;br /&gt;
If such announcement calls not are allowed from all users, create a filter under PBX-Config-Filter, and set the announcement prefix (ex #) to Not OK. Activate this call filter for template or users.&lt;br /&gt;
&lt;br /&gt;
Note that such announcement calls work only for innovaphone devices, not for DECT handsets or other 3rd party devices.&lt;br /&gt;
&lt;br /&gt;
===Priority Calls===&lt;br /&gt;
When example the Bridge calls a user, and this is busy, we want to force this as an announcement call with high priority.&lt;br /&gt;
For all users that have to receive priority calls, set Call Forward Busy:&lt;br /&gt;
Call Forward Busy to the users own extension number with announcement prefix. Only for users that are allowed to make such calls. &lt;br /&gt;
&lt;br /&gt;
 Example for user 303: CFB to number #303, Only from name “Bridge”.&lt;br /&gt;
&lt;br /&gt;
To get it working without action from the called party, we have to set how the phone shall react on busy.&lt;br /&gt;
&lt;br /&gt;
For all users that shall receive priority calls, set Phone Preferences (in template, user or phone) to Call Waiting: Disabled.&lt;br /&gt;
&lt;br /&gt;
Note that such priority calls work only for innovaphone devices, not for DECT handsets or other 3rd party devices. &lt;br /&gt;
For DECT devices, the priority call will be signalled as a Call Waiting, and the user has to accept it.&lt;br /&gt;
For third-party devices, in some cases it can be solved with an automation script on the third party device. If a priority call is received, the actual call is cancelled and the priority party is called back. To get this call-back to work, the third party user object has to be CFB to a BC Conference object with the user object as member and the priority user (ex Bridge) as a member. See [[Howto:Multiple_Emergency_Calls]]. The priority user (ex Bridge) must accept call waiting. See also the next section.&lt;br /&gt;
&lt;br /&gt;
===Multiple Priority Calls===&lt;br /&gt;
In our example, the Bridge has highest priority for outgoing calls, but has also to receive priority calls from Engine and Engine Control Room. So, the bridge must accept call waiting. But when call waiting is activated, CFB is not working.&lt;br /&gt;
So in additional to config for [[Howto:Multiple_Emergency_Calls]], you have to set a Call Forward Unconditional on the Bridge object.&lt;br /&gt;
Call Forward Busy to the users own extension number with BC Conference object number. Only for users that are allowed to make such calls. &lt;br /&gt;
&lt;br /&gt;
 Example for user 601 Bridge: CFU to number *9601, Only from name “Engine” and “Engine Control Room”.&lt;br /&gt;
&lt;br /&gt;
[[Image:Priority_Calls_from_Bridge.png]]&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
Dect and non-innovaphone 3rd party devices don’t support announcement calls.&lt;br /&gt;
&lt;br /&gt;
Also the innovaphone analogue gateways don&#039;t support announcement calls.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:Multiple_Emergency_Calls]]&lt;br /&gt;
* [[Reference13r1:Concept_Soft_Conference]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Priority_calls&amp;diff=60745</id>
		<title>Howto:Priority calls</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Priority_calls&amp;diff=60745"/>
		<updated>2022-01-10T11:07:49Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:3rd Party Input}}&lt;br /&gt;
In the scenario there are one or several extensions that always have priority when calling to other users. &lt;br /&gt;
&lt;br /&gt;
This is a typical ship scenario where calls from Bridge always have highest priority. If the called party is busy, his call will be put on hold until the call from Bridge is finished.&lt;br /&gt;
&lt;br /&gt;
Also some other locations have priority, example calls from Engine room and Engine Control Room to Bridge. To create this function, look to [[Howto:Multiple_Emergency_Calls]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here the request in detail:&lt;br /&gt;
&lt;br /&gt;
*The priority calls must have a priority over eventual other existing calls. &lt;br /&gt;
&lt;br /&gt;
*Priority calls can be set up as ordinary calls or as announcement calls.&lt;br /&gt;
&lt;br /&gt;
*If the called extension is busy the far party must go automatically in a hold status and should not participate in the emergency conversation. &lt;br /&gt;
&lt;br /&gt;
*At the end of the emergency call the previous caller should be connected again if the called user like that (and in the meantime the call has not dropped).&lt;br /&gt;
&lt;br /&gt;
*If a priority outgoing call (from Bridge) is up and a second incoming priority call (from Engine to Bridge) is done, the last call signals as “call waiting”. &lt;br /&gt;
&lt;br /&gt;
*If several priority calls (from Engine and Engine Control Room to Bridge) is dialing, these calls have to be connected to the same conference call.&lt;br /&gt;
&lt;br /&gt;
*The feature should work on busy and idle user, the caller has to dial always the same number.&lt;br /&gt;
&lt;br /&gt;
Here how it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
Tested with version 13 (should work from version 10, not tested)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: emergency, priority, ship, boat, bridge, BCconf, conference --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Announcement Calls===&lt;br /&gt;
Create a DTMF object and activate the feature Announcement call. Example: #$(3). It means that if you dial # followed by internal extension number, in our example three digits, the call is set up as an announcement call.&lt;br /&gt;
For all users that shall receive announcement calls, set Phone Preferences (in template, user or phone) to Announcement Calls, Incoming: Micro On.&lt;br /&gt;
For all users that shall send announcement calls, set Phone Preferences (in template, user or phone) to Announcement Calls, Outgoing: Allow.&lt;br /&gt;
&lt;br /&gt;
If such announcement calls not are allowed from all users, create a filter under PBX-Config-Filter, and set the announcement prefix (ex #) to Not OK. Activate this call filter for template or users.&lt;br /&gt;
&lt;br /&gt;
Note that such announcement calls work only for innovaphone devices, not for DECT handsets or other 3rd party devices.&lt;br /&gt;
&lt;br /&gt;
===Priority Calls===&lt;br /&gt;
When example the Bridge calls a user, and this is busy, we want to force this as an announcement call with high priority.&lt;br /&gt;
For all users that have to receive priority calls, set Call Forward Busy:&lt;br /&gt;
Call Forward Busy to the users own extension number with announcement prefix. Only for users that are allowed to make such calls. &lt;br /&gt;
&lt;br /&gt;
 Example for user 303: CFB to number #303, Only from name “Bridge”.&lt;br /&gt;
&lt;br /&gt;
To get it working without action from the called party, we have to set how the phone shall react on busy.&lt;br /&gt;
&lt;br /&gt;
For all users that shall receive priority calls, set Phone Preferences (in template, user or phone) to Call Waiting: Disabled.&lt;br /&gt;
&lt;br /&gt;
Note that such priority calls work only for innovaphone devices, not for DECT handsets or other 3rd party devices. &lt;br /&gt;
For DECT devices, the priority call will be signalled as a Call Waiting, and the user has to accept it.&lt;br /&gt;
For third-party devices, in some cases it can be solved with an automation script on the third party device. If a priority call is received, the actual call is cancelled and the priority party is called back. To get this call-back to work, the third party user object has to be CFB to a BC Conference object with the user object as member and the priority user (ex Bridge) as a member. See [[Howto:Multiple_Emergency_Calls]]. The priority user (ex Bridge) must accept call waiting. See also the next section.&lt;br /&gt;
&lt;br /&gt;
===Multiple Priority Calls===&lt;br /&gt;
In our example, the Bridge has highest priority for outgoing calls, but has also to receive priority calls from Engine and Engine Control Room. So, the bridge must accept call waiting. But when call waiting is activated, CFB is not working.&lt;br /&gt;
So in additional to config for [[Howto:Multiple_Emergency_Calls]], you have to set a Call Forward Unconditional on the Bridge object.&lt;br /&gt;
Call Forward Busy to the users own extension number with BC Conference object number. Only for users that are allowed to make such calls. &lt;br /&gt;
&lt;br /&gt;
 Example for user 601 Bridge: CFU to number *9601, Only from name “Engine” and “Engine Control Room”.&lt;br /&gt;
&lt;br /&gt;
[[Image:Priority_Calls_from_Bridge.png]]&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
Dect and non-innovaphone 3rd party devices don’t support announcement calls.&lt;br /&gt;
Also the innovaphone analogue gateways don&#039;t support announcement calls.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:Multiple_Emergency_Calls]]&lt;br /&gt;
* [[Reference13r1:Concept_Soft_Conference]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Priority_calls&amp;diff=57078</id>
		<title>Howto:Priority calls</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Priority_calls&amp;diff=57078"/>
		<updated>2020-09-01T15:38:52Z</updated>

		<summary type="html">&lt;p&gt;Ole: New howto article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the scenario there are one or several extensions that always have priority when calling to other users. &lt;br /&gt;
&lt;br /&gt;
This is a typical ship scenario where calls from Bridge always have highest priority. If the called party is busy, his call will be put on hold until the call from Bridge is finished.&lt;br /&gt;
&lt;br /&gt;
Also some other locations have priority, example calls from Engine room and Engine Control Room to Bridge. To create this function, look to [[Howto:Multiple_Emergency_Calls]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here the request in detail:&lt;br /&gt;
&lt;br /&gt;
*The priority calls must have a priority over eventual other existing calls. &lt;br /&gt;
&lt;br /&gt;
*Priority calls can be set up as ordinary calls or as announcement calls.&lt;br /&gt;
&lt;br /&gt;
*If the called extension is busy the far party must go automatically in a hold status and should not participate to the emergency conversation. &lt;br /&gt;
&lt;br /&gt;
*At the end of the emergency call the previous caller should be connected again if the called user like that (and in the meantime the call has not dropped).&lt;br /&gt;
&lt;br /&gt;
*If an priority outgoing call (from Bridge) is up and a second incoming priority call (from Engine to Bridge) is done , the last call signals as “call waiting”. &lt;br /&gt;
&lt;br /&gt;
*If several priority calls (from Engine and Engine Control Room to Bridge) is dialing, these calls have to be connected to the same conference call.&lt;br /&gt;
&lt;br /&gt;
*The feature should work on busy and idle user, the caller has to dial always the same number.&lt;br /&gt;
&lt;br /&gt;
Here how it works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
Tested with version 13 ((should work from version 10, not tested)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: emergency, priority, ship, boat, bridge, BCconf, conferenc --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Announcement Calls===&lt;br /&gt;
Create a DTMF object and activate the feature Announcement call. Example: #$(3). It means that if you dial # followed by internal extension number, in our example three digits, the call is set up as an announcement call.&lt;br /&gt;
For all users that shall receive announcement calls, set Phone Preferences (in template, user or phone) to Announcement Calls, Incoming: Micro On.&lt;br /&gt;
For all users that shall send announcement calls, set Phone Preferences (in template, user or phone) to Announcement Calls, Outgoing: Allow.&lt;br /&gt;
&lt;br /&gt;
If such announcement calls not are allowed from all users, create a filter under PBX-Config-Filter, and set the announcement prefix (ex #) to Not OK. Activate this call filter for template or users.&lt;br /&gt;
&lt;br /&gt;
Note that such announcement calls work only for innovaphone devices, not for dect handsets or other 3rd party devices.&lt;br /&gt;
&lt;br /&gt;
===Priority Calls===&lt;br /&gt;
When example the Bridge calls a user, and this is busy, we want to force this as an announcement call with high priority.&lt;br /&gt;
For all users that have to receive priority calls, set Call Forward Busy:&lt;br /&gt;
Call Forward Busy to the users own extension number with announcement prefix. Only for users that are allowed to make such calls. &lt;br /&gt;
&lt;br /&gt;
 Example for user 303: CFB to number #303, Only from name “Bridge”.&lt;br /&gt;
&lt;br /&gt;
To get it working without action from the called party, we have to set how the phone shall react on busy.&lt;br /&gt;
&lt;br /&gt;
For all users that shall receive priority calls, set Phone Preferences (in template, user or phone) to Call Waiting: Disabled.&lt;br /&gt;
&lt;br /&gt;
Note that such priority calls work only for innovaphone devices, not for dect handsets or other 3rd party devices. &lt;br /&gt;
For dect devices, the priority call will be signalled as a Call Waiting, and the user has to accept it.&lt;br /&gt;
For third party devices, in some cases it can be solved with an automation script on the third party device. If a priority call is received, the actual call is cancelled and the priority party is called back. To get this call-back to work, the third party user object has to be CFB to a BC Conference object with the user object as member and the priority user (ex Bridge) as a member. See [[Howto:Multiple_Emergency_Calls]]. The priority user (ex Bridge) must accept call waiting. See also next section.&lt;br /&gt;
&lt;br /&gt;
===Multiple Priority Calls===&lt;br /&gt;
In our example, the Bridge has highest priority for outgoing calls, but has also to receive priority calls from Engine and Engine Control Room. So, the bridge must accept call waiting. But when call waiting is activated, CFB is not working.&lt;br /&gt;
So in additional to config for [[Howto:Multiple_Emergency_Calls]], you have to set a Call Forward Unconditional on the Bridge object.&lt;br /&gt;
Call Forward Busy to the users own extension number with BC Conference objekct number. Only for users that are allowed to make such calls. &lt;br /&gt;
&lt;br /&gt;
 Example for user 601 Bridge: CFU to number *9601, Only from name “Engine” and “Engine Control Room”.&lt;br /&gt;
&lt;br /&gt;
[[Image:Priority_Calls_from_Bridge.png]]&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
Dect and non innovaphone 3rd party devices don’t support announcement calls.&lt;br /&gt;
 &lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:Multiple_Emergency_Calls]]&lt;br /&gt;
[[Reference13r1:Concept_Soft_Conference]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Priority_Calls_from_Bridge.png&amp;diff=57077</id>
		<title>File:Priority Calls from Bridge.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Priority_Calls_from_Bridge.png&amp;diff=57077"/>
		<updated>2020-09-01T15:38:16Z</updated>

		<summary type="html">&lt;p&gt;Ole: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:How_to_Reset_IPXXX&amp;diff=53519</id>
		<title>Howto:How to Reset IPXXX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:How_to_Reset_IPXXX&amp;diff=53519"/>
		<updated>2019-09-17T14:32:21Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* More Information */ Added IP101 and IP102 to table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
Different Reset Options of IPXXX&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All innovaphone products with the latest boot code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: factory default, led behaviour, tftp mode, clear config, gwload--&amp;gt;&lt;br /&gt;
==More Information==&lt;br /&gt;
Different options resetting innovaphone devices.&lt;br /&gt;
&lt;br /&gt;
* bringing to Factory default&lt;br /&gt;
* bringing to TFTP mode for GWLoad&lt;br /&gt;
* clearing config&lt;br /&gt;
* explaining the LED behavior&lt;br /&gt;
&lt;br /&gt;
Additional Information for the following table, TFTP-Mode or TFTP-Mode + FACTORY RESET for the phones IP110, IP150, IP200, IP202, IP230, IP240&lt;br /&gt;
 &lt;br /&gt;
Seperating the phone from the power, press the Key/Button, keep on pressing the Key/Button, plug in the PSU or ethernet cable (in case of PoE), watch the status of the device (table: visual display), release the Key/Button after time shown in the table. If you want to reanimate this devices now with GWLoad, do not powercycle the device again. If the factory reset was successful the device is now in the defined TFTP-Mode and ready for GWLoad. If you just wanted to factory reset the device you can do a powercycle for sure.&lt;br /&gt;
&lt;br /&gt;
If the factory reset was not successful please contact rma@innovaphone.com&lt;br /&gt;
&lt;br /&gt;
or look at [[Howto:Get Access to Gateways if the Assistant don&#039;t boot the device.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
!Device (visual display)&lt;br /&gt;
!Reset Button/Key&lt;br /&gt;
!Button pressed&lt;br /&gt;
!Clear Config &lt;br /&gt;
Firmware&lt;br /&gt;
Boot code update&lt;br /&gt;
!Pressing Button to TFTP without deleting config in seconds ca.&lt;br /&gt;
!Pressing Button to factory reset in seconds ca.&lt;br /&gt;
!GWLoad- / TFTP-Mode&lt;br /&gt;
!Firmware starting&lt;br /&gt;
!Firmware ready&lt;br /&gt;
!Firmware Error&lt;br /&gt;
|----&lt;br /&gt;
|IP21&lt;br /&gt;
(all LED&#039;s)&lt;br /&gt;
|Button&lt;br /&gt;
|ready: &amp;lt;5s blink, &amp;gt;5s constant flash&lt;br /&gt;
&lt;br /&gt;
line1 + line2 + door + aux constant flash / link + act off&lt;br /&gt;
&lt;br /&gt;
with plugged in ethernet cable 100M + link: &amp;lt;3s off, &amp;gt;3s normal operating state&lt;br /&gt;
|...&lt;br /&gt;
&lt;br /&gt;
ready fast blink, line1 + line2 + door + aux off link + 100M normal operating&lt;br /&gt;
&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|all LED’s are constant flashing&lt;br /&gt;
&lt;br /&gt;
link is blinking&lt;br /&gt;
|ready + line1/2 + door + aux + 100M (if link)&lt;br /&gt;
&lt;br /&gt;
permanent for ca. 5s&lt;br /&gt;
&lt;br /&gt;
link blinking&lt;br /&gt;
|ready + 100M (if link)&lt;br /&gt;
&lt;br /&gt;
link blinking&lt;br /&gt;
|&lt;br /&gt;
|----&lt;br /&gt;
|IP400&lt;br /&gt;
(all LED’s)&lt;br /&gt;
|Button&lt;br /&gt;
|PPP+Tel.1+Tel.2: &amp;lt;5s blink, [5;8] constant flash, &amp;gt;8 ready + link + act constant flash&lt;br /&gt;
&lt;br /&gt;
without ethernet cable plugged in: &amp;lt;8s off, 8s one blink, &amp;gt;8s off&lt;br /&gt;
|&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|ready + link + act flashing constant&lt;br /&gt;
|&amp;lt;8 ready + PPP + tel1 + tel2 constant flash,&lt;br /&gt;
&lt;br /&gt;
[3;10] link + act. uncoordinated flashing&lt;br /&gt;
&lt;br /&gt;
&amp;gt;10s ready + link (if link) constant act. blinking&lt;br /&gt;
|ready + 100M (if link)&lt;br /&gt;
&lt;br /&gt;
link blinking&lt;br /&gt;
|&lt;br /&gt;
|----&lt;br /&gt;
|IP3000&lt;br /&gt;
(all LED’s)&lt;br /&gt;
|Button&lt;br /&gt;
|&amp;lt;6s PRI1+PRI2+S/T+ready blink, [6;10] PRI1 + PRI2 + S/T + ready constant flash,&lt;br /&gt;
&lt;br /&gt;
act + speed + link off&lt;br /&gt;
&lt;br /&gt;
&amp;gt;10s PRI1 + PRI2 + S/T constant flash, ready + act + speed + link off&lt;br /&gt;
&lt;br /&gt;
with ethernet cable plugged in: act + speed + link normal working state&lt;br /&gt;
|fast blink (green)&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|all LED’s flashing permanent&lt;br /&gt;
&lt;br /&gt;
ready off&lt;br /&gt;
&lt;br /&gt;
link blinking&lt;br /&gt;
|&amp;gt;2 link + speed constant flashing, act blinking&lt;br /&gt;
&lt;br /&gt;
&amp;lt;5s PRI1 + PRI2 + S/T constant flash&lt;br /&gt;
&lt;br /&gt;
&amp;gt;5s ready constant flash, (if link) link + speed constant flashing, act blinking&lt;br /&gt;
|ready constant flash, (if link) link + speed constant flashing, act blinking&lt;br /&gt;
|blinking (green)&lt;br /&gt;
|----&lt;br /&gt;
|IP800/IP6000/IPx010&lt;br /&gt;
(red/green/orange ready LED )&lt;br /&gt;
|Button&lt;br /&gt;
|&amp;lt;6 slow gn blink&lt;br /&gt;
&lt;br /&gt;
[6;10] constant red&lt;br /&gt;
&lt;br /&gt;
[10;13] fast gn blink&lt;br /&gt;
&lt;br /&gt;
&amp;lt;13 constant orange&lt;br /&gt;
|fast blink (green)&lt;br /&gt;
|3&lt;br /&gt;
|15 (IP800)&lt;br /&gt;
&lt;br /&gt;
15-20 (IP6000/IPx010)&lt;br /&gt;
|constant orange&lt;br /&gt;
|red&lt;br /&gt;
|green&lt;br /&gt;
|blinking (red)&lt;br /&gt;
|----&lt;br /&gt;
|IP1200&lt;br /&gt;
|Button&lt;br /&gt;
|&amp;lt;2s alarm red constant flash, ready off&lt;br /&gt;
&lt;br /&gt;
[2;7] alarm off, ready slow blink green&lt;br /&gt;
&lt;br /&gt;
[7;13] alarm off, ready fast blink green&lt;br /&gt;
&lt;br /&gt;
&amp;gt;13s alarm off, ready 2 Hz blink green&lt;br /&gt;
|fast blink&lt;br /&gt;
|3&lt;br /&gt;
|10&lt;br /&gt;
|slow flash ca. 2 Hz&lt;br /&gt;
|&amp;lt;2s alarm red constant flash&lt;br /&gt;
&lt;br /&gt;
ready green constant flash&lt;br /&gt;
&lt;br /&gt;
power orange constant flash&lt;br /&gt;
&lt;br /&gt;
[2;4] alarm off, ready off, power orange&lt;br /&gt;
&lt;br /&gt;
&amp;gt;4s alarm off, ready constant green flash, power constant green flash&lt;br /&gt;
|ready constant green flash and power constant orange flash&lt;br /&gt;
|alarm (red)&lt;br /&gt;
|----&lt;br /&gt;
|IP1202&lt;br /&gt;
|Button&lt;br /&gt;
|&amp;lt;3s LED off&lt;br /&gt;
&lt;br /&gt;
[3;10] LED blink fast blue 1 sec&lt;br /&gt;
&lt;br /&gt;
&amp;gt;10s LED blink fast blue 1 sec,&lt;br /&gt;
than blink slow blue until factory reset completed,&lt;br /&gt;
than constant yellow/amber&lt;br /&gt;
|fast blink in blue&lt;br /&gt;
|3&lt;br /&gt;
|10&lt;br /&gt;
|constant yellow/amber&lt;br /&gt;
|LED red until firmware lstarted&lt;br /&gt;
&lt;br /&gt;
LED blink fast red until ethernet link up&lt;br /&gt;
&lt;br /&gt;
LED blink fast blue until Air Sync established&lt;br /&gt;
&lt;br /&gt;
LED constant blue if Air Sync OK&lt;br /&gt;
&lt;br /&gt;
|LED constant blue&lt;br /&gt;
|LED constant red&lt;br /&gt;
|----&lt;br /&gt;
|IP200/IP202&lt;br /&gt;
(red handset)&lt;br /&gt;
|alt key&lt;br /&gt;
|slow blink&lt;br /&gt;
|slow blink&lt;br /&gt;
|3&lt;br /&gt;
|5&lt;br /&gt;
|constant flash&lt;br /&gt;
|slow blink&lt;br /&gt;
|off&lt;br /&gt;
|constant flash&lt;br /&gt;
|----&lt;br /&gt;
|IP200A/IP210&lt;br /&gt;
(red handset)&lt;br /&gt;
|alt key&lt;br /&gt;
|slow blink&lt;br /&gt;
|fast blink&lt;br /&gt;
|3&lt;br /&gt;
|15&lt;br /&gt;
|slow flash&lt;br /&gt;
ca. 2 Hz&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|blinking &lt;br /&gt;
|----&lt;br /&gt;
|IP110&lt;br /&gt;
(LED’s in F1 key)&lt;br /&gt;
|save key&lt;br /&gt;
|slow blink&lt;br /&gt;
|F1 off&lt;br /&gt;
|3&lt;br /&gt;
|10 - 15&lt;br /&gt;
|slow flash&lt;br /&gt;
ca. 2 Hz&lt;br /&gt;
|constant F1 flash&lt;br /&gt;
|off&lt;br /&gt;
|blinking &lt;br /&gt;
|----&lt;br /&gt;
|IP101&lt;br /&gt;
(MWI LED)&lt;br /&gt;
|backspace key&lt;br /&gt;
|press key when power cycle, hold ca 10 sec till led flashing. Power cycle again when slow blink&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|----&lt;br /&gt;
|IP102&lt;br /&gt;
(MWI LED)&lt;br /&gt;
|backspace key&lt;br /&gt;
|press key when power cycle, hold ca 10 sec till led flashing. Power cycle again when slow blink&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|----&lt;br /&gt;
|IP111&lt;br /&gt;
(MWI LED)&lt;br /&gt;
|home key&lt;br /&gt;
|press key when power cycle, hold ca 10 sec till led flashing. Power cycle again when slow blink&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|----&lt;br /&gt;
|IP112&lt;br /&gt;
(MWI LED)&lt;br /&gt;
|home key&lt;br /&gt;
|press key when power cycle, hold ca 10 sec till led flashing. Power cycle again when slow blink&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|----&lt;br /&gt;
|IP230&lt;br /&gt;
(menu key)&lt;br /&gt;
|menu key&lt;br /&gt;
|slow blink&lt;br /&gt;
|fast blink&lt;br /&gt;
|3&lt;br /&gt;
|10&lt;br /&gt;
|slow flash&lt;br /&gt;
ca. 2 Hz&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|blinking &lt;br /&gt;
|----&lt;br /&gt;
|IP240&lt;br /&gt;
(menu key)&lt;br /&gt;
|menu key&lt;br /&gt;
|slow blink&lt;br /&gt;
|fast blink&lt;br /&gt;
|3&lt;br /&gt;
|10&lt;br /&gt;
|slow flash&lt;br /&gt;
ca. 2 Hz&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|blinking &lt;br /&gt;
|----&lt;br /&gt;
|IP241&lt;br /&gt;
(menu key)&lt;br /&gt;
|alt key&lt;br /&gt;
|slow blink&lt;br /&gt;
|fast blink&lt;br /&gt;
|3&lt;br /&gt;
|10&lt;br /&gt;
|slow flash&lt;br /&gt;
ca. 2 Hz&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|blinking&lt;br /&gt;
|----&lt;br /&gt;
|IP222&lt;br /&gt;
(MWI LED)&lt;br /&gt;
|ESC key&lt;br /&gt;
|slow blink&lt;br /&gt;
|fast blink&lt;br /&gt;
|3&lt;br /&gt;
|15&lt;br /&gt;
|slow flash&lt;br /&gt;
ca. 2 Hz&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|blinking&lt;br /&gt;
|----&lt;br /&gt;
|IP232&lt;br /&gt;
(MWI LED)&lt;br /&gt;
|ESC key&lt;br /&gt;
|slow blink&lt;br /&gt;
|fast blink&lt;br /&gt;
|3&lt;br /&gt;
|15&lt;br /&gt;
|slow flash&lt;br /&gt;
ca. 2 Hz&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|blinking &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:How to use gwload]]&lt;br /&gt;
* [[Howto:How_to_Reset_IPXXX_(V10...)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:How_to_configure_an_IP_phone_for_direct_IP_address_dialing&amp;diff=52284</id>
		<title>Howto:How to configure an IP phone for direct IP address dialing</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:How_to_configure_an_IP_phone_for_direct_IP_address_dialing&amp;diff=52284"/>
		<updated>2019-05-26T10:57:01Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;IP Phones can be configured to work without RAS, just by dialing IP addresses.  Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V6 IP Phones (except DECT)&lt;br /&gt;
&lt;br /&gt;
Build sr1 and later.&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
Version 6 phones can work both with and without RAS (i.e. a Gatekeeper) simultaneously.  This allows to work straight forward in environments, where normally there is a gatekeeper available but still to place and receive calls when the gatekeeper is gone for whatever reason. &lt;br /&gt;
&lt;br /&gt;
Of course, the phone can also be entirely without a gatekeeper.&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
This function is implemented in the telephone, so it will work with V5, V6 and 3rd party gatekeepers.  Please note though that you will need V6 phone firmware in any case (see above).&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
To work with and without RAS simultaneously, 2 independent registrations have to be set up as follows&lt;br /&gt;
* Registration 1 will be the IP-only registration (which of course is self-contradictory).  This is done by configuring 0.0.0.0 as Registration 1/Registration/Primary Gatekeeper Address&lt;br /&gt;
* To make sure there is a valid CLI when placing calls without gatekeeper, you should also configure the phones local IP address and extension as Registration 1/Registration/Name, just like 192.168.0.3#22 assuming 192.168.0.3 is your IP address and 22 is your extension  &lt;br /&gt;
** If autodial is configured under Phone/Direct-Dialing, be sure to set the destination, ex 192*168*0*4#11, under Destination Name. If you put it under destination number, no outcalling calls will work after restart.&lt;br /&gt;
* Registration 2 will be your normal RAS registration.  Please configure as usual.  This registration has to be the active registration (that is the one that is normally used for outgoing and incoming calls).  You need to set Phone/Registrations[Id=2]/Active for this&lt;br /&gt;
* You will probably want to have access to the local phone book from this 2nd registration.  Use Registration 2/Directories/Local/Enable to switch this on.&lt;br /&gt;
&lt;br /&gt;
Given that there might be no RAS available when placing a call, users will find it convenient to have all potential call destinations in their local phonebook.  This can best be done using an import from excel (more precisely, from an CSV file).&lt;br /&gt;
&lt;br /&gt;
Here is the columns definition for the CSV file:&lt;br /&gt;
{|border=1 |align=left&lt;br /&gt;
|align=left| &#039;&#039;&#039;Column&#039;&#039;&#039; || &#039;&#039;&#039;Meaning&#039;&#039;&#039; || &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=left| A || First Name || Columns A, B and C will be concatenated (space separated) to form the entries internal name&lt;br /&gt;
|-&lt;br /&gt;
|align=left| B || Surname ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left| C || Organisation ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left| D || Destination E.164 || Destination phone number&lt;br /&gt;
|-&lt;br /&gt;
|align=left| E || Destination Name || Destination name&lt;br /&gt;
|-&lt;br /&gt;
|align=left| F || Remarks ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left| G || Flags || Must be FLAG_IP for IP direct destinations, empty otherwise.   Put the destination IP address into column E!&lt;br /&gt;
If  is set and this entry is dialled, then if the active registration is registered (RAS available), the number from column D is dialled.  If RAS is not available, the IP address from column E is called directly.&lt;br /&gt;
|-&lt;br /&gt;
|align=left| H || Unused ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left| I || Unused ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left nowrap=true| J || Ringing Tone Melody ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left nowrap=true| K || Ringing Tone Rhythm ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left nowrap=true| L || Ringing Tone Volume ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left| M || Source E.164 ||&lt;br /&gt;
|-&lt;br /&gt;
|align=left| N || Source Name ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To enter an IP destination manually into the local phone book, you will need to enter the IP address as H.323 name and leave the E.164 empty.&lt;br /&gt;
&lt;br /&gt;
==== SIP configuration ====&lt;br /&gt;
To allow for inbound direct sip configure for User1 a SIP protocol, User ID: number#ip, eg 22#192.168.10.17, proxy: 0.0.0.0. Second registration as mentioned above&lt;br /&gt;
&lt;br /&gt;
===Dialing IP Addresses===&lt;br /&gt;
&#039;&#039;&#039;H323 calls&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can dial an IP address directly from the phones keyboard.  Simply dial e.g. 192*168*10*17 to call the endpoint at 192.168.10.17.  If you need to dial an extension (e.g. because the destination really is a gateway), you can add this extension like #22 (assuming you want to dial extension 20), which makes 192*168*10*17#22.&lt;br /&gt;
&lt;br /&gt;
Obviously, only block dialing is possible this way.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SIP calls&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can dial an IP address directly from the phones keyboard. The syntax is different to H.323, it is sip:number@ip-address. If the endpoint is e.g. 22 and the IP address e.g. 192.168.10.17, you must dial sip:22@192.168.10.17&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* Keywords: Direct IP Call Direct-IP-Call directipcall Direct IP Dial IPCall Direktwahl IP-Adresse IP-Address without registration --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Voice_Player/Setup&amp;diff=38040</id>
		<title>Reference10:Voice Player/Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Voice_Player/Setup&amp;diff=38040"/>
		<updated>2015-06-09T08:59:46Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Recorder Address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Player Setup =&lt;br /&gt;
&lt;br /&gt;
This decription concerns the Player Setup&lt;br /&gt;
&lt;br /&gt;
[[Image:PlayerSetup01.png]]&lt;br /&gt;
&lt;br /&gt;
The setup is shown always on the position where the player is located but is an independent window and can be moved.&lt;br /&gt;
&lt;br /&gt;
== Main Window ==&lt;br /&gt;
=== Always in foreground ===&lt;br /&gt;
Hold the player window in foreground. Note that the foreground option for the iQM Recall window can be enabled independently (see relative Tab).&lt;br /&gt;
&lt;br /&gt;
=== Start minimized ===&lt;br /&gt;
&lt;br /&gt;
If checked this application starts-up minimized in the taskbar.&lt;br /&gt;
&lt;br /&gt;
=== Help (online) ===&lt;br /&gt;
Starts up this help&lt;br /&gt;
&lt;br /&gt;
=== Exit (no save) ===&lt;br /&gt;
Exit setup without storing eventual changed options&lt;br /&gt;
&lt;br /&gt;
=== Save and Exit ===&lt;br /&gt;
Saves the actual setup and close the setup window. Some options like new ports require a restart while option like showing or not a button not.&lt;br /&gt;
&lt;br /&gt;
=== Save + Stop! ===&lt;br /&gt;
(Build 1074 or higher)&lt;br /&gt;
Saves the actual setup and close the application. &lt;br /&gt;
&lt;br /&gt;
=== Version ===&lt;br /&gt;
In the left lower edge the actual version of the payer (Build) is displayed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TAB General ==&lt;br /&gt;
&lt;br /&gt;
=== Player Name ===&lt;br /&gt;
&lt;br /&gt;
Define the Name of this Player (useing the CN user name is recommended), this name will appear on the main player window but will also identify the user in the central log file. If the Player communicate with the recorder the name is even required, also if the player should be integrated in a external application. &lt;br /&gt;
If the player interacts with the iQM the name must be the CN (the same name than associated to a agent client) otherwise no recall is possible. &lt;br /&gt;
&lt;br /&gt;
=== Setup Password ===&lt;br /&gt;
&lt;br /&gt;
If blank no password is required to access to this setup. If a password is defined it must be entered to access this setup. If a password is entered or changed the firmware check if in the indicated recording directory a centralized password is found. If yes this master password must be indicated correctly. This is done to avoid that a user delete the setup file, starts the player and access to the setup indicating the recording path and then being able to manipulate.&lt;br /&gt;
&lt;br /&gt;
=== See just number(s) ===&lt;br /&gt;
&lt;br /&gt;
The extension number indicated here is copied to the “Filter A” field of the Player. The “filter A” field is disabled automatically and therefore this user will see just “his” recordings. Like in the filter A and B fields also here wildcards can be used. “2?” for example will show all records from extension “20” to “29” while “203” will show just records of extension 203. If leaved blank this feature is off and the “Filter A” field enabled.&lt;br /&gt;
&lt;br /&gt;
Build 1077:&lt;br /&gt;
&lt;br /&gt;
It is possible indicate more extension numbers separated by a semicolon. In this case a drop down selection field will appear and the desired extension as filter can be selected.  &lt;br /&gt;
&lt;br /&gt;
This is usefully when for example a supervisor should see all his agents’ calls (but not any recorded call).&lt;br /&gt;
&lt;br /&gt;
Example: &amp;quot;33,39,24&amp;quot; will enable this user to see the call of this extensions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:MoreUSR.png]]&lt;br /&gt;
&lt;br /&gt;
The order in the drop down is the one indicated in the input field of the setup.&lt;br /&gt;
&lt;br /&gt;
=== Player Password ===&lt;br /&gt;
With this password the player can be protected, if a password is in and the application started a cover is over the player.&lt;br /&gt;
To unlock press the lock key and enter the password. &lt;br /&gt;
&lt;br /&gt;
=== Decrypt Key ===&lt;br /&gt;
The recorder crypt the record data files (the XML) using an internal standard key. If a User Key is defined encryption is done using this key. Therefore even in a player has to be configured this key. &lt;br /&gt;
&lt;br /&gt;
Leave this field blank if no User Key is defined. If mixed encryption files are present (files with standard system key and user key) the right key will be used automatically.&lt;br /&gt;
&lt;br /&gt;
If audio files are encrypted this key is also used to decrypt, the same key is used for encryption of the record data file and the audio file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Set recording directory root ===&lt;br /&gt;
&lt;br /&gt;
If pressed a directory dialog is opened and the path to the root directory of the recorder can be selected. Only in this way a normal browsing if the recorded records is possible. The root directory is the same one than the on indicated in the recorder (storage path).&lt;br /&gt;
&lt;br /&gt;
===Work with http Player-Server===&lt;br /&gt;
&lt;br /&gt;
(Build 1074 or higher)&lt;br /&gt;
&lt;br /&gt;
If checked the Player will get all his information from a player server. Set this socket (IP address and port number) to the same value as indicated in the player server.&lt;br /&gt;
&lt;br /&gt;
Note: The root Recording directory must be set or here or in the player server.&lt;br /&gt;
&lt;br /&gt;
Note: Some features are disabled or not available if this mode is selected. See relative Howto in the related articles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TAB Permissions ==&lt;br /&gt;
&lt;br /&gt;
With these options you modify also the layout of the player, if not checked the relative buttons are not displayed.&lt;br /&gt;
&lt;br /&gt;
=== Allow copy records ===&lt;br /&gt;
&lt;br /&gt;
If checked records can be copied, if not the relative button is not shown in the player.&lt;br /&gt;
&lt;br /&gt;
=== Allow move (cut out) records ===&lt;br /&gt;
&lt;br /&gt;
If checked records can be moved to other directories, if not the relative button is not shown in the player. Note that the move or delete button is never shown on backup directory.&lt;br /&gt;
&lt;br /&gt;
=== Allow delete records ===&lt;br /&gt;
&lt;br /&gt;
If checked the user can delete records, if not the relative button is not shown in the player. Note that the move or delete button is never shown on backup directory.&lt;br /&gt;
&lt;br /&gt;
=== Allow delete without recorder connection ===&lt;br /&gt;
&lt;br /&gt;
If checked, records can be deleted even without an established connection to the recorder. As default deleting records is possible only if this player has a working IP connection to the Recorder. This is used to synchronize the reporting tool.&lt;br /&gt;
&lt;br /&gt;
=== Write record manipulation Log ===&lt;br /&gt;
&lt;br /&gt;
If checked each copy, move or delete action will be logged in a central log file on the recorder directory (therefore all manipulations are logged in one single log file). Please note that copy move and delete operations are possible just on the working folders where the player is pointing (and typically not in the backup path).&lt;br /&gt;
&lt;br /&gt;
=== Use also as Audio player ===&lt;br /&gt;
&lt;br /&gt;
If checked free browsing and playing of audio and video files is possible.&lt;br /&gt;
&lt;br /&gt;
The following file types are supported:&lt;br /&gt;
&lt;br /&gt;
Audio: .wav, .mp3, .wma&lt;br /&gt;
&lt;br /&gt;
Video: .avi, .wmv, .mp4, .mpg&lt;br /&gt;
&lt;br /&gt;
=== Allow edit record notes ===&lt;br /&gt;
&lt;br /&gt;
If checked near the note text filed a button “Note” is displayed. The user can edit the note field and save the note pressing the note button. If non checked no “Note” button is displayed, but existing Notes are displayed.&lt;br /&gt;
&lt;br /&gt;
=== Allow export of encoded files ===&lt;br /&gt;
&lt;br /&gt;
If checked a record loaded in the player can be stopped and an export is possible. Export means a copy of clear data, so the XML file is readable while the audio file, if encoded, is stored as a clear copy (clear Wave or mp3 format, depends on the original file format).&lt;br /&gt;
&lt;br /&gt;
=== Allow instant Play ===&lt;br /&gt;
&lt;br /&gt;
If not checked the relative button and function will be hided. The instand Play option shows the latest records on top and diseables some filter options. This mode is used typically in emergency scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Allow transcription ===&lt;br /&gt;
&lt;br /&gt;
If not checked the relative button and function will be hided. Transcription is uses if a written copy of a conversation has to be produced.&lt;br /&gt;
&lt;br /&gt;
=== Show memory===&lt;br /&gt;
&lt;br /&gt;
If not checked it is not possible to switch on the memory (snap) indicator.&lt;br /&gt;
&lt;br /&gt;
Build 1072&lt;br /&gt;
&lt;br /&gt;
===Show record details ===&lt;br /&gt;
&lt;br /&gt;
If not checked the CDR details are not displayed in the relative window.&lt;br /&gt;
&lt;br /&gt;
=== Show historic timestamp===&lt;br /&gt;
&lt;br /&gt;
If not checked the user cannot activate the real time display of the historic timestamp.&lt;br /&gt;
&lt;br /&gt;
=== Store last ___ tracks played===&lt;br /&gt;
&lt;br /&gt;
The recorder shows in a special view the list of the last records played. Insert “0” for disable the feature, the maximum value is 99. &lt;br /&gt;
The list is updated automatically each time a record is played and the track is not jet in the list. The list of the played tracks can be sorted, filtered and marked as usual. Marked tracks can also be deleted from the list.&lt;br /&gt;
&lt;br /&gt;
Note: The list described is just a list and represent not the real record. Therefore a delete just deletes the entry in this list, not the record itself. &lt;br /&gt;
&lt;br /&gt;
Build 1071&lt;br /&gt;
&lt;br /&gt;
===Allow mark personal record===&lt;br /&gt;
&lt;br /&gt;
If checked a relative key (my) is show on top of the record list and during a play a key to save the record is displayed in the recorder section. &lt;br /&gt;
&lt;br /&gt;
A “personal record” is a record reproduced on this specific player (PC) while a system playlist is available to all players in a network.&lt;br /&gt;
&lt;br /&gt;
The list is like the one of the last tracks played.&lt;br /&gt;
&lt;br /&gt;
If the feature “allow public mark record” is switched on a copy key will be automatically displayed if the show personal record key is pressed. Marked entry can be copy to the public folder pressing the copy key.&lt;br /&gt;
&lt;br /&gt;
Build 1071&lt;br /&gt;
&lt;br /&gt;
=== Allow public mark record===&lt;br /&gt;
&lt;br /&gt;
The marked records are stored in a network wide, for all player available playlist. &lt;br /&gt;
&lt;br /&gt;
See Store last and mark personal for details. &lt;br /&gt;
&lt;br /&gt;
Build 1071&lt;br /&gt;
&lt;br /&gt;
===Store activity in central log===&lt;br /&gt;
&lt;br /&gt;
If checked all records played are stored in a central list. Not the track itself but the activity is reported, indicating date and time, the name of the player and the record. Each play will be reported, so even a eventual looping (repeating) of a record. &lt;br /&gt;
&lt;br /&gt;
The log file is stored in the directory LOG of the recorder and a text file named “Playerlog.txt”. There is no utility but it can be imported in excel.&lt;br /&gt;
&lt;br /&gt;
Example for entry’s:&lt;br /&gt;
&lt;br /&gt;
19.09.2014 18:13:04,Klaus,2014_06_03_1651_24.i.0102_1_20ca5319e909d31190d60090331b3e3b.wav&lt;br /&gt;
&lt;br /&gt;
22.09.2014 13:24:07,Klaus,2014_06_03_1559_24.o.0102_1_ac26f097e909d311b3e700903306225f.wav&lt;br /&gt;
&lt;br /&gt;
== TAB Backup ==&lt;br /&gt;
&lt;br /&gt;
=== Allow access to backup files ===&lt;br /&gt;
&lt;br /&gt;
Enable browsing records in the backup directory, move and delete buttons are hided. The Year and month has to be entered manually, online browsing is not possible (setup search valued and press the search button).&lt;br /&gt;
&lt;br /&gt;
Note that this feature is just on if also a relative backup directory is defined and online.&lt;br /&gt;
&lt;br /&gt;
=== Set Backup directory ===&lt;br /&gt;
&lt;br /&gt;
If pressed a directory dialog is opened and the path to the backup directory of the recorder can be selected. The backup directory is the same one than the on indicated in the recorder (backup storage path). &lt;br /&gt;
&lt;br /&gt;
== TAB Link to Recorder ==&lt;br /&gt;
&lt;br /&gt;
If this option is on the player shows the status of the recorder and can synchronize deleted files with the reporting database.&lt;br /&gt;
&lt;br /&gt;
=== Recorder Address ===&lt;br /&gt;
&lt;br /&gt;
IP Address from the recorder, could be 127.0.0.1 if running on the same PC, leave blank to switch feature off.&lt;br /&gt;
&lt;br /&gt;
=== Recorder Port ===&lt;br /&gt;
&lt;br /&gt;
Same port than the one indicated in the recorder setup (com with Player), leave blank if you don’t want that this player communicates with the recorder. Do not enter a value if no connection is desired, because continuous error attempts to reach the recorder will occur.&lt;br /&gt;
&lt;br /&gt;
Do not confuse with the other port numbers in this setup, duplicate port numbers will cause a system crash; the port number must even be free from the PC point of view. 9001 to 9099 could be a good range.&lt;br /&gt;
&lt;br /&gt;
== TAB Link to iQM ==&lt;br /&gt;
&lt;br /&gt;
This option allows displaying in the player the list of the abandoned calls of the Waiting Queue. Used in emergency scenarios, where missed calls are a critical event.&lt;br /&gt;
&lt;br /&gt;
=== Common Name ===&lt;br /&gt;
&lt;br /&gt;
Common Name of the phone associated to the player. Required for recall directly from the recall list (the phone goes off hock and calls the abbandoned caller).&lt;br /&gt;
&lt;br /&gt;
=== iQM TCP/IP Address ===&lt;br /&gt;
&lt;br /&gt;
Enter the IP Address of the iQM server (see eventually setup iQM). Leave blank to switch off the feature. Do not enter data if no iQM server is online, the player will try continuously to reach the iQM server and slow down the system.&lt;br /&gt;
&lt;br /&gt;
=== iQM Port ===&lt;br /&gt;
&lt;br /&gt;
Enter the Port of the iQM server (see eventually setup iQM).&lt;br /&gt;
&lt;br /&gt;
Do not confuse this setup with the other port numbers in this setup, duplicate port numbers will cause a system crash; the port number must even be free from the PC point of view. 9001 to 9099 could be a good range.&lt;br /&gt;
&lt;br /&gt;
=== Dock on player ===&lt;br /&gt;
&lt;br /&gt;
The (independent) recall window will be docked to the player window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Recall list always in foreground ===&lt;br /&gt;
&lt;br /&gt;
Hold the recall window in foreground. Note that the player window can be enabled independently.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TAB Remote Control ==&lt;br /&gt;
&lt;br /&gt;
As the name says this is the first party remote control interface. If the interfacing with an external application is done using the 3rt party interface this option is not required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port for RC ===&lt;br /&gt;
&lt;br /&gt;
Port for remote control of the player, the IP address is the one of the PC where this program is executed and could not be modified here.&lt;br /&gt;
&lt;br /&gt;
The reporting is anyway using too this port for reproducing calls, this port must for that application be the same than the one indicated in the setup of the reporting.&lt;br /&gt;
&lt;br /&gt;
=== Reporting RC ===&lt;br /&gt;
&lt;br /&gt;
Leave blank to switch off the feature, if set a restart of the player is required, near the record ID “RC on” is displayed.&lt;br /&gt;
&lt;br /&gt;
=== Pop up on play if minimized ===&lt;br /&gt;
&lt;br /&gt;
If checked the player will pop up if minimized in the taskbar and a remote “Play” command is received.&lt;br /&gt;
&lt;br /&gt;
=== Minimized if Stopped ===&lt;br /&gt;
&lt;br /&gt;
If checked and a remote control command stops the player the player is automatically minimized.&lt;br /&gt;
&lt;br /&gt;
== Map ==&lt;br /&gt;
As explained on the TAB a User PC must have access to the directory where the records are. So basically that is an issue of the system administrator. If a network path is enable it will be displayed in the file list after pressing the “Set” button.&lt;br /&gt;
It is also possible map a network drive on the PC to that path and then access to that drive.&lt;br /&gt;
At least, and this is this option, also the player itself is able to map a network drive (and disconnect it when the program is terminated). This tab is to allow that scenario.&lt;br /&gt;
&lt;br /&gt;
=== Connect automatically ===&lt;br /&gt;
If not checked the map is off, if checked and a drive is indicated the software try to connect the network drive on start-up.&lt;br /&gt;
&lt;br /&gt;
=== Drive ===&lt;br /&gt;
The list shows the available network disk on this PC starting search after the letter “C”.&lt;br /&gt;
=== User and Password ===&lt;br /&gt;
The credentials to access to this network drive&lt;br /&gt;
=== Path ===&lt;br /&gt;
Path to the network drive (try eventually first with a normal explorer to connect a network drive and copy the path in there)&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
If you press that button and the network drive is not connected the software try to connect, the status is displayed nearby.&lt;br /&gt;
Note that you must first connect the drive and then set up in General the root directory.&lt;br /&gt;
=== Remove ===&lt;br /&gt;
Disconnect a connected network drive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
&lt;br /&gt;
The setup files are stored in the directory  “user\AppData\roaming\innovaphone\innovaphone Player”.&lt;br /&gt;
For different path options see &lt;br /&gt;
&lt;br /&gt;
* [[Reference10:Voice_Recorder/Setup#Player]]&lt;br /&gt;
&lt;br /&gt;
The Setup is stored in a file named “iPlayer_Setup.xml”.&lt;br /&gt;
&lt;br /&gt;
The file is an xml file but his contend is encrypted and can therefore not be manipulated manually.&lt;br /&gt;
&lt;br /&gt;
The local error and events are stored in a text file named “iPlay_Sys_Log.txt” in the directory where the software is running.&lt;br /&gt;
&lt;br /&gt;
The last player position on the screen is stored in a file named “PlayerPos.txt”, if this file is missing or deleted the player will start up on the windows default startup position.&lt;br /&gt;
&lt;br /&gt;
Note: If the application starts on a hide position you can track it back to the main window activating the application on the taskbar and press the windows button + shift + left arrow.&lt;br /&gt;
&lt;br /&gt;
The manual setup of the Player is stored in a file named “iPlayer_User_Setup.xml”. This file contains the actual values and options, for example the actual selected player volume. If the Player starts up again the user will found his previous selected switched and options.&lt;br /&gt;
&lt;br /&gt;
== Multiple Voice Recorder and Player ==&lt;br /&gt;
&lt;br /&gt;
See &lt;br /&gt;
* [[Reference10:Voice_Recorder/Setup#Multiple_Voice_Recorder_and_Player]]&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Concept_Voice_Recorder]]&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Player_Voice_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Voice_Recorder/Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Last_Call_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Universal_Track_Recording_Tool]]&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Voice_Recorder/Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Player_over_http]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_feil_testperiode_utlopt.PNG&amp;diff=36565</id>
		<title>File:Screenshot v11 feil testperiode utlopt.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_feil_testperiode_utlopt.PNG&amp;diff=36565"/>
		<updated>2015-01-21T14:56:46Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Ldap_Reporting_setting.PNG&amp;diff=36561</id>
		<title>File:Ldap Reporting setting.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Ldap_Reporting_setting.PNG&amp;diff=36561"/>
		<updated>2015-01-21T14:43:20Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - Reporting setting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - Reporting setting&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_Phone_directory.PNG&amp;diff=36560</id>
		<title>File:Screenshot Phone directory.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_Phone_directory.PNG&amp;diff=36560"/>
		<updated>2015-01-21T14:38:43Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - External Ldap server&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - External Ldap server&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_manglende_betaling.PNG&amp;diff=36556</id>
		<title>File:Screenshot myPBX feil manglende betaling.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_manglende_betaling.PNG&amp;diff=36556"/>
		<updated>2015-01-21T14:11:12Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_feil_manglende_betaling.PNG&amp;diff=36555</id>
		<title>File:Screenshot v11 feil manglende betaling.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_feil_manglende_betaling.PNG&amp;diff=36555"/>
		<updated>2015-01-21T13:54:41Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_testperiode_utlopt.PNG&amp;diff=36554</id>
		<title>File:Screenshot myPBX feil testperiode utlopt.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_testperiode_utlopt.PNG&amp;diff=36554"/>
		<updated>2015-01-21T13:53:44Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_testperiode_utl%C3%B8pt.PNG&amp;diff=36553</id>
		<title>File:Screenshot myPBX feil testperiode utløpt.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_testperiode_utl%C3%B8pt.PNG&amp;diff=36553"/>
		<updated>2015-01-21T13:50:41Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_user-pw.PNG&amp;diff=36552</id>
		<title>File:Screenshot myPBX feil user-pw.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_user-pw.PNG&amp;diff=36552"/>
		<updated>2015-01-21T13:50:14Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_feil_ip-adresse.PNG&amp;diff=36551</id>
		<title>File:Screenshot v11 feil ip-adresse.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_feil_ip-adresse.PNG&amp;diff=36551"/>
		<updated>2015-01-21T13:48:43Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_ip-adresse.PNG&amp;diff=36550</id>
		<title>File:Screenshot myPBX feil ip-adresse.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_feil_ip-adresse.PNG&amp;diff=36550"/>
		<updated>2015-01-21T13:47:35Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - error message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - error message&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_telefonlogg.PNG&amp;diff=36549</id>
		<title>File:Screenshot myPBX telefonlogg.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_telefonlogg.PNG&amp;diff=36549"/>
		<updated>2015-01-21T13:46:37Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - myPBX call log&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - myPBX call log&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_predial.PNG&amp;diff=36548</id>
		<title>File:Screenshot myPBX predial.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_predial.PNG&amp;diff=36548"/>
		<updated>2015-01-21T13:45:06Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - myPBX predial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - myPBX predial&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_oppslag.PNG&amp;diff=36547</id>
		<title>File:Screenshot myPBX oppslag.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_oppslag.PNG&amp;diff=36547"/>
		<updated>2015-01-21T13:44:22Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - myPBX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - myPBX&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_popup.PNG&amp;diff=36546</id>
		<title>File:Screenshot myPBX popup.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_myPBX_popup.PNG&amp;diff=36546"/>
		<updated>2015-01-21T13:43:07Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - myPBX popup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - myPBX popup&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v10_telefonlogg.PNG&amp;diff=36545</id>
		<title>File:Screenshot v10 telefonlogg.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v10_telefonlogg.PNG&amp;diff=36545"/>
		<updated>2015-01-21T13:41:49Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - call log&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - call log&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_telefonlogg.PNG&amp;diff=36544</id>
		<title>File:Screenshot v11 telefonlogg.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_telefonlogg.PNG&amp;diff=36544"/>
		<updated>2015-01-21T13:40:43Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - call log&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - call log&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v10_predial.PNG&amp;diff=36543</id>
		<title>File:Screenshot v10 predial.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v10_predial.PNG&amp;diff=36543"/>
		<updated>2015-01-21T13:39:51Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - outgoing call&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - outgoing call&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_predial.PNG&amp;diff=36542</id>
		<title>File:Screenshot v11 predial.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_predial.PNG&amp;diff=36542"/>
		<updated>2015-01-21T13:38:44Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - outgoing call&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - outgoing call&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v6_oppslag.PNG&amp;diff=36541</id>
		<title>File:Screenshot v6 oppslag.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v6_oppslag.PNG&amp;diff=36541"/>
		<updated>2015-01-21T13:36:37Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - incomming call&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - incomming call&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v10_oppslag.PNG&amp;diff=36540</id>
		<title>File:Screenshot v10 oppslag.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v10_oppslag.PNG&amp;diff=36540"/>
		<updated>2015-01-21T13:35:38Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap phonebook service for Norway - incomming call&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap phonebook service for Norway - incomming call&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_oppslag.PNG&amp;diff=36539</id>
		<title>File:Screenshot v11 oppslag.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_v11_oppslag.PNG&amp;diff=36539"/>
		<updated>2015-01-21T13:33:00Z</updated>

		<summary type="html">&lt;p&gt;Ole: Ldap Norwegian phonebook service - incomming call&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ldap Norwegian phonebook service - incomming call&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Screenshot_admin_ny_kunde.PNG&amp;diff=36528</id>
		<title>File:Screenshot admin ny kunde.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Screenshot_admin_ny_kunde.PNG&amp;diff=36528"/>
		<updated>2015-01-21T07:38:19Z</updated>

		<summary type="html">&lt;p&gt;Ole: Eksempel på innlegging av ny kunde i admin-portalen for Telefonbok Norge&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eksempel på innlegging av ny kunde i admin-portalen for Telefonbok Norge&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Simple_Wake-UP_Service&amp;diff=35946</id>
		<title>Howto:Simple Wake-UP Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Simple_Wake-UP_Service&amp;diff=35946"/>
		<updated>2014-11-20T09:39:44Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{3rd Party Input}}&lt;br /&gt;
This article describes a simple Wake-Up service.&lt;br /&gt;
Any improvements are encouraged!&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V7 or higher for version 1.4 of perl script&lt;br /&gt;
&lt;br /&gt;
innovaphone PBX, V9 hotfix 22 or higher for version 2.0 of perl script&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: wakeup, wake up call --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The wake-up call is a typical Hotel or TelCo service. Innovaphone does not support wake-up calls natively but you can build this service with a simple XML and PERL script.&lt;br /&gt;
&lt;br /&gt;
====XML script====&lt;br /&gt;
The wakeup.xml feature is realized using Innovaphone XML Voicemail script, no license is required for this feature.&lt;br /&gt;
If you call the script a main menu is played. In this menu you can select 1 for set the wake-up time, 2 for disable the wake-up or 3 to check the configured alarm time.&lt;br /&gt;
The XML gets the alarm time via DTMF. It must be specified in 24 hours format as explained in examples below:&lt;br /&gt;
&lt;br /&gt;
1030 means 10 am and 30 minutes&lt;br /&gt;
&lt;br /&gt;
2230 means 10 pm and 30 minutes&lt;br /&gt;
&lt;br /&gt;
0700 means 7 am o&#039;clock&lt;br /&gt;
&lt;br /&gt;
0000 means midnight&lt;br /&gt;
&lt;br /&gt;
Once the alarm time is setted, the XML writes a txt file in the &amp;quot;alarm&amp;quot; folder. Files have this particular format: file name is equal to calling party number and file content is the alarm time in 24 hours format with : as separator between hours and minutes.&lt;br /&gt;
The calling party number will be used as called number and re-called when will be the time to wake-up.&lt;br /&gt;
In this way a user can set only his wake-up and can set again the time without disable it. Every time that a user select the option to enable the wake-up, the XML rewrites the file in the &amp;quot;alarm&amp;quot; folder with the new time.&lt;br /&gt;
Obviously, if the calling party number is missing or restricted the XML will prompt an error message.&lt;br /&gt;
To disable the alarm the XML deletes the file. Examples:&lt;br /&gt;
&lt;br /&gt;
ext. 101 calls XML and sets 0800 ---&amp;gt; XML writes the file 101.txt with the content 08:00&lt;br /&gt;
&lt;br /&gt;
ext. 101 recalls XML and sets 0830 ---&amp;gt; XML rewrite the file 101.txt with the content 08:30&lt;br /&gt;
&lt;br /&gt;
ext. 101 recalls XML and disables the wake-up ---&amp;gt; XML deletes the file 101.txt&lt;br /&gt;
&lt;br /&gt;
====PERL script====&lt;br /&gt;
PERL is an interpreted language and so can be executed on Linux and Windows operating systems. Linux can interpret perl natively while for Windows you can download many free interpreters like Activeperl or Strawberry perl.&lt;br /&gt;
To run the script send_call.pl you must use a third party server or the Innovaphone Linux Application Platform.&lt;br /&gt;
The reason of a PERL script is the following: the Innovaphone XML script can&#039;t start a call and so is necessary an external agent.&lt;br /&gt;
The script runs in background as a service and performs the following tasks:&lt;br /&gt;
&lt;br /&gt;
- every minute checks the folder called &amp;quot;alarm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- reads files&lt;br /&gt;
&lt;br /&gt;
- uses the file name as called number&lt;br /&gt;
&lt;br /&gt;
- checks the file content to verify if is wake up time&lt;br /&gt;
&lt;br /&gt;
The version 1.4 of the script uses SIP and handles 4 call responses: 404 user not found, 486 busy, 487 not answer and 200 answer ok. &lt;br /&gt;
In every cases sends an email and deletes files. Only for the answer case plays a nice music.&lt;br /&gt;
&lt;br /&gt;
The version 2.0 uses the Innovaphone CallBack function to generate a call (for more info see the Related Articles at the bottom of the page). This release doesn&#039;t handle the call state like busy or not answer.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
Create a VM object in your PBX and put in the “Script URL” the path of your XML object. Example of configuration of a directory called &amp;quot;wakeup&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
http://xxx.yyy.zzz.vvv/inno/wakeup/wakeup.xml&lt;br /&gt;
&lt;br /&gt;
Assign a number to this object, now you can call it from any phone and the main menu will be prompted.&lt;br /&gt;
&lt;br /&gt;
[[Image:voicemail_obj.PNG]]&lt;br /&gt;
&lt;br /&gt;
Create a GW without registration with the IP Address of the server where is running the PERL script.&lt;br /&gt;
Create a route from the GW created just now to the GW registered as PBX TRUNK line.&lt;br /&gt;
In this way you can permit calls from PERL script to PBX.&lt;br /&gt;
&lt;br /&gt;
[[Image:gw_route.PNG]]&lt;br /&gt;
&lt;br /&gt;
Open the PERL script with a text editor and configure the global parameters at the beginning of the file as showed in example below:&lt;br /&gt;
&lt;br /&gt;
[[Image:perl_global.PNG]]&lt;br /&gt;
&lt;br /&gt;
The version 1.4 handles 4 sip responses: 404 user not found, 486 busy, 487 not answer and 200 answer ok. If you want add a new cause you can edit the script and create a new condition.&lt;br /&gt;
&amp;lt;!-- [[Image:perl_sip_cause.png]] --&amp;gt;&lt;br /&gt;
The music played during connection uses the G.711A codec. If you want change it you must modify the rtp_param [ 8, 160, 160/8000, &#039;PCMA/8000&#039; ] in the &amp;quot;invite&amp;quot; routine.&lt;br /&gt;
&lt;br /&gt;
[[Image:perl_sip_ua.png]]&lt;br /&gt;
&lt;br /&gt;
If you want, there is an optional feature to register the Perl SIP agent to your PBX: #$ua-&amp;gt;register ( expires =&amp;gt; &amp;quot;300&amp;quot;,). It&#039;s disabled per default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only for version 2.0 you must have a Waiting Queue object in your PBX used to generate the call and play the Wake Up music.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want execute the script in a service mode, you must edit rc.local in your Linux OS file and write the istruction: &amp;quot;perl /your script path/send_call.pl 2&amp;gt;&amp;amp;1 &amp;amp; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. Audio files are in the &amp;quot;audio&amp;quot; folder. Files are following:&lt;br /&gt;
&lt;br /&gt;
Filename: Prompt&lt;br /&gt;
&lt;br /&gt;
welcomemenu: “press 1 to set the wake-up, press 2 to disable wake-up, press 3 to check wake-up status”&lt;br /&gt;
&lt;br /&gt;
Invalidcgpn: “the calling party number is missing or restricted, the service can not be activated”&lt;br /&gt;
&lt;br /&gt;
wrongselection: “the selected option is invalid”&lt;br /&gt;
&lt;br /&gt;
timemenu: &amp;quot;set the time in 24 hours format&amp;quot;&lt;br /&gt;
&lt;br /&gt;
wrongtime: &amp;quot;the time selected is invalid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
finalok: &amp;quot;wake-up service enable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cancelalarm: &amp;quot;wake-up service disable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
timeis: &amp;quot;setted time is&amp;quot;&lt;br /&gt;
&lt;br /&gt;
min: &amp;quot;minutes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
0..23: hours followed by &amp;quot;and&amp;quot;&lt;br /&gt;
&lt;br /&gt;
n00..n59: minutes&lt;br /&gt;
&lt;br /&gt;
Wakeupmsg: nice music wake-up alert (used in version 1.4 only; in version 2.0 the wake up music is generated by the PBX Waiting Queue object)&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
In version 1.4, if you activate the Authentication for SIP messages and there are more then two simultaneous calls, the script sends some INVITEs without authentication or with wrong checksum and so not all phones ring.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
[[media:wakeup.zip]]&lt;br /&gt;
&lt;br /&gt;
XML revisioned by Marc Steiner, inikon AG: [[media:wakeup-xml.zip]]&lt;br /&gt;
&lt;br /&gt;
New version of send_call.pl (v1.4 April 2012): [[media:send_call_perl.zip]]&lt;br /&gt;
&lt;br /&gt;
Alternative version of send_call.pl (v2.0 september 2013): [[media:send_call_2_0_perl.zip]]&lt;br /&gt;
&lt;br /&gt;
Wakeup XML script with norwegian promts, by Vcom - Norway. (11. November 2014): [[Media:Wakeup_NO.zip]]&lt;br /&gt;
&lt;br /&gt;
* Compared to the original wakeup script, this script allow dtmf choices to interrupting the voice promts. The script is also prepared for multi language. New prompts in other languages can be added with the file prefix XX_. Line 9 in the XML script choose language.&lt;br /&gt;
* All promts for hours and minutes can be taken from the innovaphone voicemail promts.&lt;br /&gt;
* Vcom has also created a script for a Linux cron job that can be placed direct on IPx10 application platform. The advantage with this script compared with the Pearl script, is autostart of the script after a reboot of IPx10. Contact &amp;lt;u&amp;gt;support@vcom.no&amp;lt;/u&amp;gt; for more info.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:Initiate a Mobility CallBack via simple HTTP GET or POST request]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Simple_Wake-UP_Service&amp;diff=35866</id>
		<title>Howto:Simple Wake-UP Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Simple_Wake-UP_Service&amp;diff=35866"/>
		<updated>2014-11-11T16:25:40Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Download */ norwegian promts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{3rd Party Input}}&lt;br /&gt;
This article describes a simple Wake-Up service.&lt;br /&gt;
Any improvements are encouraged!&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V7 or higher for version 1.4 of perl script&lt;br /&gt;
&lt;br /&gt;
innovaphone PBX, V9 hotfix 22 or higher for version 2.0 of perl script&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: wakeup, wake up call --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The wake-up call is a typical Hotel or TelCo service. Innovaphone does not support wake-up calls natively but you can build this service with a simple XML and PERL script.&lt;br /&gt;
&lt;br /&gt;
====XML script====&lt;br /&gt;
The wakeup.xml feature is realized using Innovaphone XML Voicemail script, no license is required for this feature.&lt;br /&gt;
If you call the script a main menu is played. In this menu you can select 1 for set the wake-up time, 2 for disable the wake-up or 3 to check the configured alarm time.&lt;br /&gt;
The XML gets the alarm time via DTMF. It must be specified in 24 hours format as explained in examples below:&lt;br /&gt;
&lt;br /&gt;
1030 means 10 am and 30 minutes&lt;br /&gt;
&lt;br /&gt;
2230 means 10 pm and 30 minutes&lt;br /&gt;
&lt;br /&gt;
0700 means 7 am o&#039;clock&lt;br /&gt;
&lt;br /&gt;
0000 means midnight&lt;br /&gt;
&lt;br /&gt;
Once the alarm time is setted, the XML writes a txt file in the &amp;quot;alarm&amp;quot; folder. Files have this particular format: file name is equal to calling party number and file content is the alarm time in 24 hours format with : as separator between hours and minutes.&lt;br /&gt;
The calling party number will be used as called number and re-called when will be the time to wake-up.&lt;br /&gt;
In this way a user can set only his wake-up and can set again the time without disable it. Every time that a user select the option to enable the wake-up, the XML rewrites the file in the &amp;quot;alarm&amp;quot; folder with the new time.&lt;br /&gt;
Obviously, if the calling party number is missing or restricted the XML will prompt an error message.&lt;br /&gt;
To disable the alarm the XML deletes the file. Examples:&lt;br /&gt;
&lt;br /&gt;
ext. 101 calls XML and sets 0800 ---&amp;gt; XML writes the file 101.txt with the content 08:00&lt;br /&gt;
&lt;br /&gt;
ext. 101 recalls XML and sets 0830 ---&amp;gt; XML rewrite the file 101.txt with the content 08:30&lt;br /&gt;
&lt;br /&gt;
ext. 101 recalls XML and disables the wake-up ---&amp;gt; XML deletes the file 101.txt&lt;br /&gt;
&lt;br /&gt;
====PERL script====&lt;br /&gt;
PERL is an interpreted language and so can be executed on Linux and Windows operating systems. Linux can interpret perl natively while for Windows you can download many free interpreters like Activeperl or Strawberry perl.&lt;br /&gt;
To run the script send_call.pl you must use a third party server or the Innovaphone Linux Application Platform.&lt;br /&gt;
The reason of a PERL script is the following: the Innovaphone XML script can&#039;t start a call and so is necessary an external agent.&lt;br /&gt;
The script runs in background as a service and performs the following tasks:&lt;br /&gt;
&lt;br /&gt;
- every minute checks the folder called &amp;quot;alarm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- reads files&lt;br /&gt;
&lt;br /&gt;
- uses the file name as called number&lt;br /&gt;
&lt;br /&gt;
- checks the file content to verify if is wake up time&lt;br /&gt;
&lt;br /&gt;
The version 1.4 of the script uses SIP and handles 4 call responses: 404 user not found, 486 busy, 487 not answer and 200 answer ok. &lt;br /&gt;
In every cases sends an email and deletes files. Only for the answer case plays a nice music.&lt;br /&gt;
&lt;br /&gt;
The version 2.0 uses the Innovaphone CallBack function to generate a call (for more info see the Related Articles at the bottom of the page). This release doesn&#039;t handle the call state like busy or not answer.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
Create a VM object in your PBX and put in the “Script URL” the path of your XML object. Example of configuration of a directory called &amp;quot;wakeup&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
http://xxx.yyy.zzz.vvv/inno/wakeup/wakeup.xml&lt;br /&gt;
&lt;br /&gt;
Assign a number to this object, now you can call it from any phone and the main menu will be prompted.&lt;br /&gt;
&lt;br /&gt;
[[Image:voicemail_obj.PNG]]&lt;br /&gt;
&lt;br /&gt;
Create a GW without registration with the IP Address of the server where is running the PERL script.&lt;br /&gt;
Create a route from the GW created just now to the GW registered as PBX TRUNK line.&lt;br /&gt;
In this way you can permit calls from PERL script to PBX.&lt;br /&gt;
&lt;br /&gt;
[[Image:gw_route.PNG]]&lt;br /&gt;
&lt;br /&gt;
Open the PERL script with a text editor and configure the global parameters at the beginning of the file as showed in example below:&lt;br /&gt;
&lt;br /&gt;
[[Image:perl_global.PNG]]&lt;br /&gt;
&lt;br /&gt;
The version 1.4 handles 4 sip responses: 404 user not found, 486 busy, 487 not answer and 200 answer ok. If you want add a new cause you can edit the script and create a new condition.&lt;br /&gt;
&amp;lt;!-- [[Image:perl_sip_cause.png]] --&amp;gt;&lt;br /&gt;
The music played during connection uses the G.711A codec. If you want change it you must modify the rtp_param [ 8, 160, 160/8000, &#039;PCMA/8000&#039; ] in the &amp;quot;invite&amp;quot; routine.&lt;br /&gt;
&lt;br /&gt;
[[Image:perl_sip_ua.png]]&lt;br /&gt;
&lt;br /&gt;
If you want, there is an optional feature to register the Perl SIP agent to your PBX: #$ua-&amp;gt;register ( expires =&amp;gt; &amp;quot;300&amp;quot;,). It&#039;s disabled per default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only for version 2.0 you must have a Waiting Queue object in your PBX used to generate the call and play the Wake Up music.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want execute the script in a service mode, you must edit rc.local in your Linux OS file and write the istruction: &amp;quot;perl /your script path/send_call.pl 2&amp;gt;&amp;amp;1 &amp;amp; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. Audio files are in the &amp;quot;audio&amp;quot; folder. Files are following:&lt;br /&gt;
&lt;br /&gt;
Filename: Prompt&lt;br /&gt;
&lt;br /&gt;
welcomemenu: “press 1 to set the wake-up, press 2 to disable wake-up, press 3 to check wake-up status”&lt;br /&gt;
&lt;br /&gt;
Invalidcgpn: “the calling party number is missing or restricted, the service can not be activated”&lt;br /&gt;
&lt;br /&gt;
wrongselection: “the selected option is invalid”&lt;br /&gt;
&lt;br /&gt;
timemenu: &amp;quot;set the time in 24 hours format&amp;quot;&lt;br /&gt;
&lt;br /&gt;
wrongtime: &amp;quot;the time selected is invalid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
finalok: &amp;quot;wake-up service enable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cancelalarm: &amp;quot;wake-up service disable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
timeis: &amp;quot;setted time is&amp;quot;&lt;br /&gt;
&lt;br /&gt;
min: &amp;quot;minutes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
0..23: hours followed by &amp;quot;and&amp;quot;&lt;br /&gt;
&lt;br /&gt;
n00..n59: minutes&lt;br /&gt;
&lt;br /&gt;
Wakeupmsg: nice music wake-up alert (used in version 1.4 only; in version 2.0 the wake up music is generated by the PBX Waiting Queue object)&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
In version 1.4, if you activate the Authentication for SIP messages and there are more then two simultaneous calls, the script sends some INVITEs without authentication or with wrong checksum and so not all phones ring.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
[[media:wakeup.zip]]&lt;br /&gt;
&lt;br /&gt;
XML revisioned by Marc Steiner, inikon AG: [[media:wakeup-xml.zip]]&lt;br /&gt;
&lt;br /&gt;
New version of send_call.pl (v1.4 April 2012): [[media:send_call_perl.zip]]&lt;br /&gt;
&lt;br /&gt;
Alternative version of send_call.pl (v2.0 september 2013): [[media:send_call_2_0_perl.zip]]&lt;br /&gt;
&lt;br /&gt;
Wakeup XML script with norwegian promts, by Vcom - Norway. (11. November 2014): [[Media:Wakeup_NO.zip]]&lt;br /&gt;
&lt;br /&gt;
Compared to the original wakeup script, this script allow dtmf choices to interrupting the voice promts. The script is also prepared for multi language. New prompts in other languages can be added with the file prefix XX_&lt;br /&gt;
All promts for hours and minutes can be taken from the innovaphone voicemail promts.&lt;br /&gt;
Line 9 in the XML script choose language.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:Initiate a Mobility CallBack via simple HTTP GET or POST request]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Wakeup_NO.zip&amp;diff=35865</id>
		<title>File:Wakeup NO.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Wakeup_NO.zip&amp;diff=35865"/>
		<updated>2014-11-11T16:18:31Z</updated>

		<summary type="html">&lt;p&gt;Ole: Script for multi language. Contact Vcom for the Norwegian promts.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Script for multi language. Contact Vcom for the Norwegian promts.&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Hosting_with_V10&amp;diff=32513</id>
		<title>Howto:Hosting with V10</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Hosting_with_V10&amp;diff=32513"/>
		<updated>2014-01-28T14:29:28Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Configuration of customer related objects in the customer’s PBX and Frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes general recommendations for setting up a „hosted PBX“-environment.  It is based on a reference implementation done early 2013.   Everything said in this article is merely a recommendation and you may deviate from it for real-life projects.  However, it may still serve as a guideline of “what to think of”.&lt;br /&gt;
&lt;br /&gt;
There are no specific configurations given throughout the article.  As such, it targets an iCE with some decent knowledge about innovaphone products as an audience.&lt;br /&gt;
&lt;br /&gt;
This article is still “work in progress”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: centrex --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Each customer receives a dedicated PBX (best run as IPVA).  So no “dynamic PBX”s are used. Each customer has exactly one such PBX.  So no Slave- (as they do not seem to make sense) and no Standby-PBX (as this is better implemented using VMware tools such as High Availability or Fault Tolerance).   This article does explicitly not deal with mixed environments where some PBXs are hosted and some on-premise.&lt;br /&gt;
&lt;br /&gt;
Further services (apart from the basic PBX) such as e.g. fax are provided by multi-tenant capable applications.   How many customers and/or users (i.e. extensions) can be served by a single such application is for further study.  However, from an administration point-of-view, it seems to be easier calculating the same application-server to number-of-customers ratio for all the applications, as it allows organizing the whole setups in clusters where a specific set of customers is associated to a specific set of application servers.  &lt;br /&gt;
&lt;br /&gt;
In a real-life setup, there may or probably will be a central management server which may run software to simplify the management of the whole setup as well as provide an end customer portal.  This server, called ‘’Management Server‘‘ in the overview graph is thought to be specific to the PBX hosting provider and is thus – although it has an important impact – not discussed in this document. &lt;br /&gt;
&lt;br /&gt;
[[Image:Cloudkom-grobuebersicht1.png]]&lt;br /&gt;
&lt;br /&gt;
Most of the hosted services, as well the customer-PBXs and the shared services, will be located in a private network run by the hosting provider.  This is to make sure they cannot be easily attacked and also to save on publicly available IP addresses (which may be a scarce resource).   As a result, from a TCP/IP point-of-view, these services are not reachable from the customers own private network.  Also, to save on resources and reduce complexity, no VPN is set up between the customer and the hosting provider.  To implement the required customer access to these services, there are 2 extra services which need to have an additional external IP address (“dual homed”).  These are called “Frontend” and “Media-PBX”.&lt;br /&gt;
&lt;br /&gt;
The Frontend provides:&lt;br /&gt;
&lt;br /&gt;
* Proxy registration of customers terminal devices (e.g. phones) located on premise to the customer PBX&lt;br /&gt;
: Terminals in fact register with the Frontend which in turn entertains a proxy-registration to the customer PBX for each endpoint&lt;br /&gt;
* inbound NAT with port maps for selected protocols (such as e.g. HTTPS/443 und LDAPS/636,714)&lt;br /&gt;
&lt;br /&gt;
The Media-PBX &lt;br /&gt;
&lt;br /&gt;
* provides a reachable media endpoint for media data provided or consumed by services within the hosting providers private newtork&lt;br /&gt;
: This includes e.g. &#039;&#039;music on hold&#039;&#039;, locally generated calling tones, Voicemail, multi-party conferences and fax&lt;br /&gt;
This architecture ensures that the hosting providers network topology is invisible to 3rd parties (including possible attackers).  Furthermore, the hosting provider only needs 2*n+1 public IP Addresses (where &#039;&#039;n&#039;&#039; is the number of &#039;&#039;shared service&#039;&#039; groups). &lt;br /&gt;
The “dual homed” gateways must be configured to have ETH0 (default interface) connected to the &#039;&#039;public network&#039;&#039; and ETH1 connected to the &#039;&#039;hoster network&#039;&#039;.&lt;br /&gt;
[[Image:Cloudkom-netzuebersicht1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Media:CloudKom-Übersicht.png|Design Overview]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SIP Provider ====&lt;br /&gt;
Each customer has its own SIP trunk, configured on the according customer IPVA. The SIP trunk must be configured without using MediaRelay. As a result, if a customer makes a call to the PSTN(SIP provider), the RTP-stream goes end-to-end - between the SIP-provider and the phone at the customer site. Since the customer phone is behind a NAT router, the SIP provider must support NAT traversal.&lt;br /&gt;
&lt;br /&gt;
In general a [[:Category:3rdParty SIP Provider|certified SIP-provider]] can be used, if the provider passed the interop-test for [[Howto:SIP_Interop_Test_Description#NAT_Detection.28Important.29 | NAT Traversal]], [[Howto:SIP_Interop_Test_Description#Fax_using_T.38.28Important.29 | T.38]], [[Howto:SIP_Interop_Test_Description#Reverse_Media_Negotiation.28Important.29 | Reverse Media Negotiation]] and doesn&#039;t require MediaRelay to be enabled.&lt;br /&gt;
&lt;br /&gt;
==== Passwords ====&lt;br /&gt;
Throughout the system, a number of passwords are used in various places.  It is critical to use as less passwords as possible to make day-to-day administration easy and as much passwords as necessary to keep things secure.  So here is an overview: &lt;br /&gt;
&lt;br /&gt;
* Admin passwords&lt;br /&gt;
: Admin user authentication is based on Keberos.  Each admin thus can and should have individual accounts and passwords (referred to as &#039;&#039;individual admin password&#039;&#039;)&lt;br /&gt;
: all devices shall have a &amp;quot;local admin&amp;quot; passsword which should be kept secret and not be known by normal administrators and should normally never be used.  This is referred to as &#039;&#039;system-wide admin password&#039;&#039;&lt;br /&gt;
* PBX passwords&lt;br /&gt;
: PBX passwords needs to be the same in all oft the hosting providers PBXs (and do not need to be typed-in anywhere except during a PBXs initial configuration) .  The are referred to as &#039;&#039;PBX password&#039;&#039;&lt;br /&gt;
* Object password. There are 2 kinds:&lt;br /&gt;
** Passwords, which need to be known to the customer.  Registration passwords for terminal devices would be an example. Those are referred to as &#039;&#039;customer registration password&#039;&#039;). Another example are initial passwords for myPBX (that is, user passwords).  They are referred to as &#039;&#039;customer login password&#039;&#039;.  For each customer (not for each line), a distinct &#039;&#039;customer registration password&#039;&#039; is defined, which normally never changes. Furthermore, another &#039;&#039;customer login password&#039;&#039; is generated, which is used initially for all user objects but will be changed by the end users.&lt;br /&gt;
** Password which are not disclosed to the customer.  These are used for internal registrations, e.g. a local interface or gateway registering at the customer PBX.  For this, the &#039;&#039; pbx password&#039;&#039; will always be used &lt;br /&gt;
* Kerberos DB password&lt;br /&gt;
: The &#039;&#039;PBX password&#039;&#039; shall be used for encryption of the Kerberos database (as it does make no sense to use a different password here)&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the Linux AP has no support for Kerberos so separate admin password are required.  We distinguish passwords used during daily administration and those which are not. &lt;br /&gt;
&lt;br /&gt;
* Linux Admin password&lt;br /&gt;
:this is the password used in day-to-day administration, referred to as &#039;&#039;Linux Admin password&#039;&#039;.  It is used as &#039;&#039;web server credentials&#039;&#039;, &#039;&#039;webdav access credentials&#039;&#039;, &#039;&#039;application access credentials&#039;&#039;, &#039;innovaphone Reporting access credentials&#039;&#039;, &#039;&#039;innovaphone Fax access credentials&#039;&#039; etc.&lt;br /&gt;
* Linux System password&lt;br /&gt;
: the password that is used as &#039;&#039;root credentials&#039;&#039;. For this, the &#039;&#039;PBX password&#039;&#039; shall be used&lt;br /&gt;
: The database passwords (e.g. &#039;&#039;postgresql admin password&#039;&#039;) can be left as by default, as the DB server is accessible from 127.0.0.1 only anyway&lt;br /&gt;
&lt;br /&gt;
==== Customer-ID ====&lt;br /&gt;
Each customer should have a unqiue &#039;&#039;customer id&#039;&#039;.  It should be “safe” (that is, no umlaut, no spaces, no obscure special characters).   Something like e.g.  &amp;lt;code&amp;gt;Kuenkel0001&amp;lt;/code&amp;gt; will do.&lt;br /&gt;
==== NTP ====&lt;br /&gt;
All devices require correct time setting.  They all must have be a working NTP time source configured (and probably also a working alternate).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;dual-homed&#039;&#039; devices (see above) shall use 2 reliable time sources (either run by the hosting provider or from the internet).  All other devices shall use &amp;quot;their&amp;quot; own Frontend as NTP Server (a backup time source is not strictly required here as these devices are anyway unusable for customers when the Frontend is down).&lt;br /&gt;
&lt;br /&gt;
=== Certificates  ===&lt;br /&gt;
The entire HTTP and LDAP traffic from and to the customers network is encrypted.  This affects for example a customers access to the PBX (e.g. if the customer is granted (limited) access to the PBX config or for myPBX), as well as access to the reporting service.  &lt;br /&gt;
&lt;br /&gt;
To facilitate access to these devices without any warnings issued by the clients (e.g. browser security alerts) all devices require suitable certificates (that is, the host name and IP address must be noted in the certificate and they must be derived from a single signing authority so that end-users only need to import a single root certificate in order to accept all of these device certificates.   &lt;br /&gt;
&lt;br /&gt;
The devices built-in certifcates cannot be used as they only refer to the devices NetBIOS name (e.g. IPVA-a8-5a-38) which will not be used to access the devices.  Also, in the case of IPVA, the default certificate is self-signed as opposed to being derived from the aforementioned uniform root certificate. &lt;br /&gt;
&lt;br /&gt;
To derive device-certificates which all inherit from the same root certificate, a so-called &#039;&#039;RootCA&#039;&#039; is needed. &lt;br /&gt;
&lt;br /&gt;
There are multiple ways to implement this.  Although there are better schemes available, one way to do it that requires no 3rd party gear is to generate a RootCA (in  &#039;&#039;General/Certificates/RootCA&#039;&#039;) on a dedicated IPVA.  This RootCA then can be used to generate all of the other certificates.  They are stored in the IPVA’s virtual CF card (&amp;lt;code&amp;gt;/DRIVE/CF0/CA/certs/&amp;lt;/code&amp;gt;) and can be exported to the other devices from there.&lt;br /&gt;
&lt;br /&gt;
==== RootCA ====&lt;br /&gt;
For the RootCA, we use the IPVA that also implements the central Kerberos server.  Unfortunately, with the current firmware each generated device certificate will also replace the IPVA’s own device certificate.  This is of course somewhat unfortunate, however, it is not really an issue as no end-customer will ever access the Kerberos IPVA anyway.  The Kerberos server itself does not rely on the device certificate. &lt;br /&gt;
&lt;br /&gt;
You first generate a RootCA on the RootCA-IPVA (&#039;General/Kerberos&#039;&#039;).  The following data must be used:&lt;br /&gt;
&lt;br /&gt;
C=&#039;&#039;your-country (e.g. Germany) &#039;&#039;, O=&#039;&#039;hoster&#039;&#039;, CN=&#039;&#039;hoster&#039;&#039; Device Certification Authority, Key-length 4096, lifetime 20 years&lt;br /&gt;
&lt;br /&gt;
This new RootCA (which is now the IPVA’s device certificate) needs to be trusted on the IPVA (&#039;&#039;General/Admin&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==== Device Certificates ====&lt;br /&gt;
To create individual device certificates, use the RootCA created and use the following data: &lt;br /&gt;
&lt;br /&gt;
Key 4096, Common Name=&#039;&#039;devices NetBIOS Name, Organization=&#039;&#039;hoster&#039;&#039;, Country=&#039;&#039;your-country (e.g. Germany) &#039;&#039;, DNS Name 1=&#039;&#039;devices external IP address&#039;&#039;, DNS Name 2=&#039;&#039;devices internal IP address&#039;&#039;, IP Address 1=&#039;&#039;devices external IP address &#039;&#039;, IP Address 2=&#039;&#039;devices internal IP address &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For devices with an internal IP address only, it is important to specify the IP address of the NAT router used to access the device as external IP address (e.g. for a customer PBX, this will be the Frontend used). You specify the IP address only, not the port map.  &lt;br /&gt;
&lt;br /&gt;
If you intend to assign real DNS names to your devices, you may of course specify these as &#039;&#039;DNS Name 3&#039;&#039; too. &lt;br /&gt;
&lt;br /&gt;
In order to be able to export the new certificate to the target device, you need to make sure you tick the &#039;&#039;Backup on CF&#039;&#039; check-mark, so it is saved on the CF as &#039;&#039;serialno&#039;&#039;&amp;lt;code&amp;gt;.pem&amp;lt;/code&amp;gt;.  To transfer the new certificate to the target device, take note of the serial number and download the respective certificate file from &amp;lt;code&amp;gt;/DRIVE/CF0/CA/certs/&amp;lt;/code&amp;gt;&#039;&#039;serialno&#039;&#039;&amp;lt;code&amp;gt;.pem&amp;lt;/code&amp;gt;.  This file can then be uploaded to the target device (&#039;&#039;General / Certificates / Device certificate / Upload&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==== Browser Installation of the Root Certificate ====&lt;br /&gt;
To get rid of the browser security alerts when accessing devices with e.g. HTTPS, the public key of the root certificate must be trusted by the browser.  For this, it needs to be exported in to a file (you can best do this from the RootCA’s trust list in &#039;&#039;General/Certificates/Download/PEM&#039;&#039; into &amp;lt;code&amp;gt;certificate.crt&amp;lt;/code&amp;gt;).  &lt;br /&gt;
&lt;br /&gt;
It must then be imported to the browser.   This needs to be done once by both administrators and customers.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firefox&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Extras / Einstellungen / Erweitert / Zertifikate anzeigen / Zertifizierungsstellen / Importieren&#039;&#039; &lt;br /&gt;
* import the .crt file&lt;br /&gt;
* tick &#039;&#039;Dieser CA vertrauen, um Websites zu identifizieren&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Explorer&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Extras / Internetoptionen / Inhalte / Zertifikate / Beabsichtigter Zweck Clientauthentifizierung / Vertrauenswürdige Stammzertifizierungsstellen / Importieren&#039;&#039;&lt;br /&gt;
* import the .crt file&lt;br /&gt;
&lt;br /&gt;
=== Kerberos ===&lt;br /&gt;
Kerberos is used to implement authentication for all devices.  This includes both devices in the PBX hosting provider’s infrastructure and the CPE.  For this to work, all devices must subscribe to the Kerberos realm.  The PBX hosting provider’s DNS domain (e.g. ‘’hoster’’&amp;lt;code&amp;gt;.tld&amp;lt;/code&amp;gt;) should be used as Kerberos domain name.   This way, Kerberos can be found using DNS SRV records. &lt;br /&gt;
&lt;br /&gt;
The IPVA used as RootCA can be used as master kerberos service too. A stand-alone Kerberos server (that is, the one that is implemented in the &#039;&#039;Gateway&#039;&#039; level) is being used.   The (probably limited) number of admin accounts is maintained manually.  &lt;br /&gt;
&lt;br /&gt;
In fact, if the PBX hosting provider uses an active directory service to manage employee accounts, an AD-replicated PBX run on the central Kerberos IPVA is also a viable option.  &lt;br /&gt;
&lt;br /&gt;
Either way, a standby Kerberos server should be setup as a separate IPVA and can be replicated from the master kerberos as usual.&lt;br /&gt;
&lt;br /&gt;
Unless an active directory is used, no trust relationships are required.  If so, the &#039;&#039;system-wide admin password&#039;&#039; should be used as shared secret.&lt;br /&gt;
&lt;br /&gt;
The devices which rely on kerberos for authentication (that is, all devices!) locate the Kerberos servers using DNS SRV records.  Devices within the hosting provider’s private network use the internal IP address for this; external (e.g. CPE) devices use their respective Frontend.  For this to work, each Frontend needs some UDP NAT maps as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Protocol	Port	Address	Int. Port&lt;br /&gt;
UDP	7465	kerbhost-dup	464	delete&lt;br /&gt;
UDP	7464	kerbhost	464	delete&lt;br /&gt;
UDP	7089	kerbhost-dup	88	delete&lt;br /&gt;
UDP	7088	kerbhost	88	delete &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead of relying on the PBX hosting provider’s DNS server, the SRV records can be set in the devices during staging.  This way, each device can be configured to use its associated Frontend only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change DNS0 /a-name kerberos1i.#(h-domain) &lt;br /&gt;
	/a-addr #(h-kerberos1ip) /a-name kerberos2i.#(h-domain) &lt;br /&gt;
	/a-addr #(h-kerberos2ip) /a-name sbc#(h-sbcindex).#(h-domain) &lt;br /&gt;
	/a-addr #(h-sbcextip) &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target kerberos1i.#(h-domain) /srv-port 88 /srv-prio 0 /srv-weight 0 &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target kerberos2i.#(h-domain) /srv-port 88 /srv-prio 5 /srv-weight 0 &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target sbc#(h-sbcindex).#(h-domain) /srv-port 7088 /srv-prio 10 /srv-weight 0 &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target sbc#(h-sbcindex).#(h-domain) /srv-port 7089 /srv-prio 12 /srv-weight 0 &lt;br /&gt;
	/srv-name _kpasswd._udp.#(h-domain) /srv-target kerberos1i.#(h-domain) /srv-port 464 /srv-prio 0 /srv-weight 0 &lt;br /&gt;
	/srv-name _kpasswd._udp.#(h-domain) /srv-target sbc#(h-sbcindex).#(h-domain) /srv-port 7464 /srv-prio 10 /srv-weight 0 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this setup, all devices will prefer the internal IP addresses.  External (e.g. CPE) devices will of course not be able to reach these internal addresses, but they will succeed with one of the Frontends.  Thus CPE devices will use any of the available Frontends, not necessarily their own.  This will work as all Frontends ultimately NAT to the same Kerberos server. &lt;br /&gt;
&lt;br /&gt;
Note: The &#039;&#039;_kpasswd._udp&#039;&#039; SRV entry should point only to the primary Kerberos Server (i.e. either external NAT-map or internal IP-address), since the &#039;&#039;_kpasswd._udp&#039;&#039; is used to join devices to the Kerberos-Realm. It is only possible to join a realm on the master-Kerberos server, not on the standby. As a result, if the Master-Kerberos server is down, it is not possible to join/unjoin device to the Kerberos-Realm. &lt;br /&gt;
&lt;br /&gt;
==== Kerberos User ====&lt;br /&gt;
In addition to the accounts for the administrators, there must be a service account &amp;lt;code&amp;gt;paccess&amp;lt;/code&amp;gt; used for programmatic access to the devices.   This will for example be used by the Metadir server to access the Frontend (and can also be used by a hosting provider specific administration software).   In addition to that, this account is to be configured under &#039;&#039;Services/HTTP/Client&#039;&#039; for URLs &amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; on the Frontend, Media-PBX and customer PBXs.  This allows all these device to access all other devices using HTTP/S.  &lt;br /&gt;
&lt;br /&gt;
The credential for this account need to be kept securely, as they allow admin access to all devices in the infrastructure!&lt;br /&gt;
&lt;br /&gt;
To facilitate automatic join into the kerberos domain during staging, there needs to be an additional special account with &#039;&#039;Join Realm&#039;&#039; rights only: :  &amp;lt;code&amp;gt;joiner, joiner&amp;lt;/code&amp;gt;.  This account is not particularly relevant from a security point of view, as aside from adding or removing devices from a realm nothing relevant can be done on behalf of it.&lt;br /&gt;
&lt;br /&gt;
=== Licenses ===&lt;br /&gt;
It is in the PBX hosting provider’s best interest to implement a centralized license management.  A central licensing server instance is needed thus.   This can be run on the master and standby Kerberos server.  All licenses purchased by the PBX hosting provider are installed here.  The license server runs a PBX.  The only task for this PBX is to host the licenses and distribute them to the Frontend and Media PBXs, which are registered as &#039;&#039;License only&#039;&#039; slaves and will further distribute the licenses to the customer PBXs (which are in turn registered as &#039;&#039;License only&#039;&#039; slaves to their respective Media-PBX).&lt;br /&gt;
&lt;br /&gt;
If you choose to use a PBX based Kerberos server (see above), this same PBXs can be used.&lt;br /&gt;
&lt;br /&gt;
The license server PBXs will have the PBX hosting provider’s domain name as &#039;&#039;System Name&#039;&#039; (e.g. &amp;lt;code&amp;gt;hoster.tld&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; as &#039;&#039;PBX Name&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
The Frontend &lt;br /&gt;
&lt;br /&gt;
* accepts external registrations from customer CPE&lt;br /&gt;
* provides a central (virtual) CF-card storage for non-sensitive data (e.g. firmware files) &lt;br /&gt;
* supports mutliple customer PBXs.  The exact number is yet ffs., however, we estimate  no more than 135 currently.  Frontends will simply be numbered (&amp;lt;code&amp;gt;sbc1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sbc2&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
* The Frontend being a “dual homed” gateway, must have ETH0 (default interface) connected to the &#039;&#039;public network&#039;&#039; and ETH1 connected to the &#039;&#039;hoster network&#039;&#039;, this was the tested setup during our tests so it&#039;s the recommended configuration.&lt;br /&gt;
&lt;br /&gt;
==== NAT ====&lt;br /&gt;
* The Frontend will provide inbound NAT mappings for HTTPS and LDAPS.  This allows for controlled access to the IPVAs within the PBX hosting provider’s private network from external.  Each customer PBX uses its associated Frontend for NAT, that is, each Frontend provides NAT for all customers that have it associated as Frontend.  The number of customers per Frontend is limited by the number of NAT maps that can be created, which in turn depends on the length of the resulting config file line.  Currently, there is a limit of approximately 290 maps per Frontend.  2 distinctive maps are needed per customer &lt;br /&gt;
* Additionally,  some maps shared by all customers (e.g. for services like Metadir, FaxServer, Reporting) are required.  About 20 maps should be reserved for this&lt;br /&gt;
* So we end up with the aforementioned number of 135 customers per Frontend&lt;br /&gt;
* It is recommended to use a kind of syntax that allows the admin to deduce from the external port number the service type and the associated private IP. For example use 4-digit external ports, the first digit represents the service type(e.g.8 for HTTPS to the PBX, 9 for LDAPS to the PBX), the following 3 digits the associated IP-address(e.g. 007 for internal IP 10.0.0.7). In our example the external port 9007 would be mapped to the internal IP 10.0.0.7 port 636.&lt;br /&gt;
* since the Frontend is also used as NAT-router for UDP-messages(i.e. SIP signalling from the customer PBX to the SIP provider), an &#039;&#039;UDP-NAT port-range&#039;&#039;(IP4/General/Settings) must be configured. The size of the port-range should be at least as large as the number of customer PBXs served by the Frontend, each SIP Trunk requires one (external, public) port in the defined range. By default the UDP-NAT port-range is &#039;&#039;0&#039;&#039;, so no UDP NAT is possible. You must use a port range that does not conflict with other used ports on the Frontend (e.g. UDP-RTP Port-Range  by default 16384 / 32767).&lt;br /&gt;
&lt;br /&gt;
==== PBX ====&lt;br /&gt;
* &#039;&#039;System Name&#039;&#039; is the PBX hosting provider’s domain name (e.g. &amp;lt;code&amp;gt;hoster.tld&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;PBX Name&#039;&#039; is &amp;lt;code&amp;gt;sbc&amp;lt;/code&amp;gt;&#039;&#039;n&#039;&#039;&lt;br /&gt;
* &#039;&#039;Prefix for Intl/Ntl/Subscriber&#039;&#039; depending on Customers national numbering plan (e.g. for Germany and Trunk Prefix 0: &amp;lt;code&amp;gt;000, 00, 0&amp;lt;/code&amp;gt;)&lt;br /&gt;
* registers  as  &#039;&#039;Slave PBX&#039;&#039; with the central license server PBX (&#039;&#039;License Only&#039;&#039;)&lt;br /&gt;
* receives required licenses from the central license server thus &lt;br /&gt;
&lt;br /&gt;
===== Customer related Configuration =====&lt;br /&gt;
* One &#039;&#039;Session Border&#039;&#039; object  for each (potential) terminal registration to a customer PBX&lt;br /&gt;
* &#039;&#039;Long Name&#039;&#039; as well as &#039;&#039;Registration to internal PBX/Name&#039;&#039; set tot he &#039;&#039;CPE-ID&#039;&#039; (see below) &lt;br /&gt;
* &#039;&#039;Password&#039;&#039; set to the  &#039;&#039;customer registration password&#039;&#039;&lt;br /&gt;
* &#039;&#039;Registration from external/Name&#039;&#039; set to the CPE’s hardware-ID (NetBIOS name) &#039;&#039;PBX Password&#039;&#039; ticked&lt;br /&gt;
&lt;br /&gt;
See also [[#Configuration of customer related objects in the customer’s PBX and Frontend]]&lt;br /&gt;
&lt;br /&gt;
=====Alternate RAS port=====&lt;br /&gt;
End-customer phones register to the PBX using H.323.  Some CPE Routers (such as Linksys) are known to mess around with H.323 packets (namely RAS) may inhibit registration. To avoid this problem, the phones and Frontend should be configured to use an alternate port for RAS signalling. At the phone the RAS - port must be changed using the command &amp;lt;code&amp;gt;config add H323 /ras-port xxxx&amp;lt;/code&amp;gt; , the Frontend must be configured to listen for RAS packets also on an alternate port using the command &amp;lt;code&amp;gt; config add H323 /ras-port-alt xxxx&amp;lt;/code&amp;gt;.&lt;br /&gt;
The alternate RAS port configuration should be distributed to the phones in the staging section of the initial update-server configuration.&lt;br /&gt;
&lt;br /&gt;
In few cases, the NAT router will still detect RAS-messages sent via an alternate RAS port. The NAT router will therefore do its faulty H323-NAT-entries in the RAS messages. As a result, phones behind the NAT-router will not be able to register at the Frontend. &lt;br /&gt;
Assuming that you configured the usage of an alternate RAS port and double-checked that the entered password (at the phone and Frontend) is correct/matching, you can enable the logging of H323-Registrations(Maintenance/Diagnostics/Logging) and look for a &#039;&#039;REGISTER-REJ&#039;&#039; message having the additional information &#039;&#039;Reason=Authentication failed&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 REGISTER-REJ(200.205.64.202:9198),H323=IP200A-10-10-b4,Reason=Authentication failed&lt;br /&gt;
&lt;br /&gt;
Since the password is correct, the Reason=Authentication failed indicates that the NAT router is still doing H323-NAT. To solve this problem, H323-NAT must be turned off on the NAT-router located at the customer site.&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
Keep in mind that the frontend is exposed to any attack from the wild, deep space in internet.  As such, you should take utmost care of any security related settings (you may want to review the &#039;&#039;security&#039;&#039; lesson in your latest advanced training).  In particular, as you will never want to allow registrations w/o password on a frontend, make sure to set &#039;&#039;No of Regs w/o Pwd.&#039;&#039; to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (zero) in any frontend PBX configuration.&lt;br /&gt;
&lt;br /&gt;
=== Media-PBX  ===&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
* The media-PBX needs to have http access to the customer PBXs in order to play e.g. announcements or voice-mails.  This is why the HTTP client credentials for URLs &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt; via  &amp;lt;code&amp;gt;paccess@hoster.tld&amp;lt;/code&amp;gt; have to be set as explained above.&lt;br /&gt;
* The media-PBX, must be configured to have ETH0 (default interface) connected to the &#039;&#039;public network&#039;&#039; and ETH1 connected to the &#039;&#039;hoster network&#039;&#039;, this was the tested setup during our tests so it&#039;s the recommended configuration.&lt;br /&gt;
&lt;br /&gt;
==== PBX ====&lt;br /&gt;
* One PBX-type object per customer.  Both &#039;&#039;Name&#039;&#039; and &#039;&#039;Long Name&#039;&#039; set to the &#039;&#039;customer id&#039;&#039;, “Number”   set to &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;+&#039;&#039;uniq number out of customer id&#039;&#039;.&lt;br /&gt;
* One Gateway-type object  &amp;lt;code&amp;gt;HTTP-EXT&amp;lt;/code&amp;gt; with no number.  This takes registrations  from customer PBXs to for media data&lt;br /&gt;
* User-type object &amp;lt;code&amp;gt;MOH&amp;lt;/code&amp;gt; with number &amp;lt;code&amp;gt;###10&amp;lt;/code&amp;gt;. This is to register the MoH source&lt;br /&gt;
* User-type object &amp;lt;code&amp;gt;TONE&amp;lt;/code&amp;gt; with  number &amp;lt;code&amp;gt;###11&amp;lt;/code&amp;gt;. This is to register the &amp;lt;code&amp;gt;TONE&amp;lt;/code&amp;gt; interface. Make sure that you cut off the &amp;lt;code&amp;gt;###11&amp;lt;/code&amp;gt; in the route to the TONE interface.&lt;br /&gt;
* User-type object &amp;lt;code&amp;gt;HTTP-OUT&amp;lt;/code&amp;gt; with  number &amp;lt;code&amp;gt;###12&amp;lt;/code&amp;gt;. This is to register the media-PBX’s local &amp;lt;code&amp;gt;HTTP&amp;lt;/code&amp;gt; interface to offload media data such as WQ announcements and voicemail&lt;br /&gt;
&lt;br /&gt;
=== Customer PBX ===&lt;br /&gt;
Each customer has a unique &#039;&#039;customer-id&#039;&#039; which is used to derive various names and identifiers (see above).  It is derived from (part of) the customer’s name and a sequential number.  Something like e.g. &amp;lt;code&amp;gt;Kuenkel00001&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The customer PBX is located within the private part of the PBX hosting provider’s network.  Because of this, it cannot send media data to the CPE (which is the end customer’s private network).   Media has to be sent via the associated Media-PBX thus, as this is &#039;&#039;dual-homed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
:* the associated Frontend is used as &#039;&#039;Time Server&#039;&#039; &lt;br /&gt;
:* &#039;&#039;Unknown Registrations&#039;&#039; is turned on with &#039;&#039;With PBX Pwd only&#039;&#039;.  This is to enable ZCD (Zero Configuration Deployment) for CPE&lt;br /&gt;
:* &#039;&#039;System Name&#039;&#039; set to the customers email domain (even if it is &amp;lt;code&amp;gt;googlemail.com&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;yahoo.de&amp;lt;/code&amp;gt; as it does not need to be unique. Therefore it&#039;s necessary to set the customer PBX’ &#039;&#039;Master GK-ID&#039;&#039; property to the value of the media-PBX’ &#039;&#039;System Name&#039;&#039; property. &lt;br /&gt;
:* &#039;&#039;PBX Name&#039;&#039; set to the &#039;&#039;customer ID&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Handling of calls to MOH, TONE or HTTP-interface ====&lt;br /&gt;
As explained in the previous section, the customer PBX cannot send media data to the CPE but must use the respective resources on the associated Media-PBX. Calls to the Media-PBX are routed using GW-interfaces (i.e. Relay) on the customer PBX. Therefore the first step is to register a GW-interface (e.g. &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt;) to the &amp;lt;code&amp;gt;HTTP-EXT&amp;lt;/code&amp;gt; on the Media-PBX. &lt;br /&gt;
=====MOH=====&lt;br /&gt;
* Go to PBX/Config/General an enter as &amp;quot;External Music On Hold&amp;quot; the name of a non-exisiting object (e.g.&amp;lt;code&amp;gt;_customer_moh_&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Go to Gateway/GK an register a GW-interface (e.g. &amp;lt;code&amp;gt;GW2&amp;lt;/code&amp;gt;) to this non-exisiting object (e.g.&amp;lt;code&amp;gt;_customer_moh_&amp;lt;/code&amp;gt;). The registration will be accepted, in the PBX you will see a PBX-object called &amp;lt;code&amp;gt;_MOH_&amp;lt;/code&amp;gt;&lt;br /&gt;
* Assuming that you followed the examples before, &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt; would be the GW-interface registered at the Media-PBX. In the routing table (Gateway/Routes) configure a route from &amp;lt;code&amp;gt;GW2&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt; and prepend the number used for the MOH-object on the Media-PBX(e.g. &amp;lt;code&amp;gt;###10&amp;lt;/code&amp;gt;). The Route in our example would be &amp;lt;code&amp;gt;GW2 -&amp;gt; ###10 GW1&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you want to play a custom MOH, additionally enter the MOH-URL in the &amp;quot;Music On Hold URL&amp;quot; field(PBX/Config/General). The URL will be retrieved by the Media-PBX, as a result it must be retrievable by the Media-PBX (e.g. 127.0.0.1 in the URL will be the local-host address of the Media-PBX)&lt;br /&gt;
&lt;br /&gt;
=====TONE=====&lt;br /&gt;
* to use the TONE interface of the Media-PBX, route calls to the GW-interface registered at the Media-PBX and prepend the number used for the TONE-object on the Media-PBX(e.g. &amp;lt;code&amp;gt;###11&amp;lt;/code&amp;gt;).&lt;br /&gt;
* since the Media-PBX has only one TONE interface, it will generate the same TONE for all customer-PBX using it. If a customer-PBX needs a different TONE-interface, you have to create am additional Media-PBX.&lt;br /&gt;
&lt;br /&gt;
=====HTTP=====&lt;br /&gt;
* the HTTP - interface is needed when an HTTP-URL is retrieved an played as an announcement. The &amp;quot;Extern Name/No&amp;quot; field at the respective PBX-objects (e.g. WaitingQueue) is used to offload the playing of the announcement to the Media-PBX. &lt;br /&gt;
* at the customer PBX create a Gateway-type object &amp;lt;code&amp;gt;HTTP-IN&amp;lt;/code&amp;gt; with no number.  This takes registrations from a a GW-interface (e.g. &amp;lt;code&amp;gt;GW3&amp;lt;/code&amp;gt;) at the customer PBXs&lt;br /&gt;
* when configuring an announcement URL (e.g. at a WaitingQueue), enter as &amp;quot;Extern Name/No&amp;quot; &amp;lt;code&amp;gt;HTTP-IN&amp;lt;/code&amp;gt;. The URL will be retrieved by the Media-PBX, as a result it must be retrievable by the Media-PBX (e.g. 127.0.0.1 in the URL will be the local-host address of the Media-PBX)&lt;br /&gt;
* In the routing table (Gateway/Routes) configure a route from &amp;lt;code&amp;gt;GW3&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt; and prepend the number used for the MOH-object on the Media-PBX(e.g. &amp;lt;code&amp;gt;###12&amp;lt;/code&amp;gt;). The Route in our example would be &amp;lt;code&amp;gt;GW3 -&amp;gt; ###12 GW1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Global Objects in the Customer-PBX ==== &lt;br /&gt;
===== &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt; Template=====&lt;br /&gt;
* &#039;&#039;Config Template&#039;&#039;-type object with &#039;&#039;Name&#039;&#039; &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;Hide from LDAP&#039;&#039; und &#039;&#039;Critical&#039;&#039;&lt;br /&gt;
* &#039;&#039;Store Phone Config&#039;&#039;&lt;br /&gt;
* all check-marks ticked in the &#039;&#039;License&#039;&#039; tab&lt;br /&gt;
* the  &#039;&#039;Access&#039;&#039; column needs an entry for &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt;&#039;&#039;customer.tld&#039;&#039; (this is the &#039;&#039;System Name&#039;&#039; from the PBX configuration) with all check-marks ticked&lt;br /&gt;
* within the &#039;&#039;Config&#039;&#039; column, there is only a setting for LDAP Config (&#039;&#039;Directories&#039;&#039;) as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;phone&amp;gt;&lt;br /&gt;
  &amp;lt;loc cc=&#039;country-code&#039; ac=&#039;area-code&#039; ntp=&#039;0&#039; itp=&#039;00&#039; pbx=&#039;subscriber-number&#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;ldap id=&#039;2&#039; &lt;br /&gt;
    tls=&#039;1&#039; port=&#039;ldap-port-map-to-pbx-on-sbc, e.g. 9004&#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;ldap id=&#039;3&#039; &lt;br /&gt;
    enable=&#039;1&#039; tls=&#039;1&#039; mode=&#039;basic&#039; &lt;br /&gt;
    addr=&#039;sbc-ip-address&#039; port=&#039;ldap-port-map-to-metadir-on-sbc, e.g. 9007&#039; &lt;br /&gt;
    dn=&#039;PBX Name&#039; pw=&#039;??&#039; base=&#039;dc=PBX Name&#039; &lt;br /&gt;
    attr=&#039;sn,givenName,company&#039; phone=&#039;telephoneNumber:D,mobile:M,:@&#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/phone&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pw for ldap id 3 is critical: this allows everyone access to the customer directory data via LDAP.  If this is not acceptable, the password needs to be removed from the template and configured manually by the end customer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Configuration of customer related objects in the customer’s PBX and Frontend ====&lt;br /&gt;
From an administrative point of view, no configuration specific to the individual device should be necessary for registration of a CPE.  The default NetBIOS name (e.g. &amp;lt;code&amp;gt;IP232-01-02-03&amp;lt;/code&amp;gt;) is used as registration name thus.  This must be used as &#039;&#039;Registration from external&#039;&#039; in the corresponding SessionBorder object thus (for each potential CPE, there must be one SessionBorder object on the associated Frontend, see above). &lt;br /&gt;
The registration password used by the CPE and thus the &#039;&#039;Password&#039;&#039; in the SessionBorder object must be set to the &#039;&#039;customer registration password&#039;&#039; (which is specific to this customer, not to the CPE).&lt;br /&gt;
The &#039;&#039;Long Name&#039;&#039; as well as the  &#039;&#039;Name&#039;&#039; for &#039;&#039;Registration to internal PBX&#039;&#039; in the SessionBorder object (hence the registration name for the CPE set in the customer PBX’s user-type object) is a combination of the &#039;&#039;customer ID&#039;&#039; and a sequential &#039;&#039;customer CPE ID&#039;&#039;, e.g. . &amp;lt;code&amp;gt;Kuenkel00001-001&amp;lt;/code&amp;gt;.  The &#039;&#039;customer CPE ID&#039;&#039; starts with 0 for each customer.   This allows for more meaningful data when viewing traces from e.g. the Frontend.  Moreover, this scheme allows for nice filtering the object view on the PBX by customer name.   &lt;br /&gt;
The password to register the SessionBorder objects from the Frontend to the customer PBX is always the globally used &#039;&#039;PBX password&#039;&#039;.  Hence the &#039;&#039;PBX Password&#039;&#039; check-mark must be ticked in the &#039;&#039;Registration to internal PBX&#039;&#039; area of the SessionBorder object on the Frontend  and the &#039;&#039;PBX Pwd&#039;&#039; check-mark in the &#039;&#039;Devices&#039;&#039; area of the user object in the customer PBX.  Initially though, no &#039;&#039;Devices&#039;&#039; shall be present in the user object, as this allows ZCD for the CPE.&lt;br /&gt;
[[Image:SBC_registration.png|center|thumb|600px|Click for larger image: SBC-registration]]&lt;br /&gt;
&lt;br /&gt;
=== Update Server ===&lt;br /&gt;
&lt;br /&gt;
Tasks:&lt;br /&gt;
* Staging (e.g. installation of suitable trust list for HTTPS)&lt;br /&gt;
* Firmware update &lt;br /&gt;
* Backup of configuration data for CPE and customer PBX&lt;br /&gt;
Backup of CPE data is done to the virtual CF card of the customer PBX.  Backup of customer PBX data is done to its Frontend. &lt;br /&gt;
There is no device or device-type specific update script.  &lt;br /&gt;
Structure on the customer PBX&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/DRIVE/CF0/&lt;br /&gt;
  update/&lt;br /&gt;
    backup/&lt;br /&gt;
      backup-mac-date.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The backup folder on the customer PBX (&amp;lt;code&amp;gt;/DRIVE/CF0/update/backup/&amp;lt;/code&amp;gt;) must be set writable but not readable under &#039;&#039;Services/HTTP/Public compact flash access&#039;&#039; so that CPEs can write their backup. &lt;br /&gt;
&lt;br /&gt;
Firmware files are stored on a folder of the associated Frontend.  Although this implies that they need to be duplicated to all Frontends, it simplifies the configuration and distributes load.&lt;br /&gt;
&lt;br /&gt;
The generic update scripts are stored in (&amp;lt;code&amp;gt;/DRIVE/CF0/update&amp;lt;/code&amp;gt;) on the Frontend.  &amp;lt;code&amp;gt;staging.txt&amp;lt;/code&amp;gt; is the CPE staging code, &amp;lt;code&amp;gt;update.txt&amp;lt;/code&amp;gt; the regular update script.   Both scripts make extensive use of [[Reference10:Concept_Update_Server#Setvar_command| update variables]]. &lt;br /&gt;
 &lt;br /&gt;
Staging proceeds in 3 steps: &lt;br /&gt;
* CPE is configured to use the generic hosting staging interface (http://config.innovaphone.com/init) as &#039;&#039;Update-URL&#039;&#039;&lt;br /&gt;
: This is a publicly available web service, (this service is currently experimental!) relates a requesting device to the hosting provider and customer pbx based on the serial number.  If the device can be identified, the update server URL is rewritten to the PBX hosting provider’s appropriate Frontend (based on data that is defined in my.innovaphone). For more information, see [[Reference10:Concept Provisioning].&lt;br /&gt;
* CPE executes the Frontend-wide staging script (&amp;lt;code&amp;gt;staging.txt&amp;lt;/code&amp;gt;). This performs some init-only tasks&lt;br /&gt;
* CPE executes the Frontend-wide update script (&amp;lt;code&amp;gt;update.txt&amp;lt;/code&amp;gt;). This performs  day-to-day tasks (such as backup)&lt;br /&gt;
&lt;br /&gt;
File structure on Frontend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/DRIVE/CF0/&lt;br /&gt;
    update/&lt;br /&gt;
      staging.txt           - staging script&lt;br /&gt;
      update.txt            - regular update script &lt;br /&gt;
      global.txt            - overrides for global settings&lt;br /&gt;
      local.txt             - overrides for Frontend-local settings &lt;br /&gt;
      set-customerid.txt    - overrides für customer specific settings&lt;br /&gt;
      staging/              - special staging scripts &lt;br /&gt;
        global.txt            - overrides for global settings&lt;br /&gt;
        local.txt             - overrides for Frontend-local settings&lt;br /&gt;
        set-customerid.txt    - overrides für customer specific settings&lt;br /&gt;
        dev-IPxxx.txt         - device type specific settings &lt;br /&gt;
        cfg-phone.txt         - device class specific settings &lt;br /&gt;
        cfg-gateway.txt       - ditto&lt;br /&gt;
      firm/                 - firmware&lt;br /&gt;
        nnnnnn/&lt;br /&gt;
          bootxxx.bin&lt;br /&gt;
          ipxxx.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to be accessible during firmware updates, the drive (&amp;lt;code&amp;gt;/DRIVE/CF0/update/firm/&amp;lt;/code&amp;gt;) must have read (and only read) access on the Frontend under &#039;&#039;Services/HTTP/Public compact flash access&#039;&#039;.  In order to be accessible from the devices, drive &amp;lt;code&amp;gt;/DRIVE/CF0/update&amp;lt;/code&amp;gt;) needs to be readable (and only readable).  Both can be achieved with a single &amp;lt;code&amp;gt;/DRIVE/CF0/update/&amp;lt;/code&amp;gt; entry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assigning the initial update URL (&amp;lt;code&amp;gt; http://145.253.157.5/redirect.php &amp;lt;/code&amp;gt;) to CPE is for further study.    It can be done as usual (DHCP), but this requires co-operation by the end-customer which may be a problem.  Of course it can also be pre-configured by the hosting provider. In the latter case, the URL must be configured to the device after any long reset (factory settings). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Update Script Security  =====&lt;br /&gt;
Update scripts may include registration password (although encrypted) to facilitate automatic registration with almost no user intervention (cf.  set-&#039;&#039;customerid&#039;&#039;.txt above).  By definition, staging scripts are readable by everyone (as they are used to configure otherwise unconfigured devices, so no kwowledge of credentials can be assumed). There is no easy way around this.   One option would be to define a password for the web site hosting the scripts.  This would then imply that the password needs to be configured to the CPE, which is undesirable from an administrative point-of-view.    Moreover, with innovaphone gear (that is, when a web server internal to an innovaphone device is used), the only way to secure the scripts with a password would imply to use an admin account and password – clearly unacceptable from a security point-of-view. &lt;br /&gt;
&lt;br /&gt;
To secure the update scripts, a mechanism based on innivaphone&#039;s device certificates must be employed.  See [[Reference10:Concept Provisioning]] for more details. &lt;br /&gt;
&lt;br /&gt;
==== Deployment  ====&lt;br /&gt;
===== Initial =====&lt;br /&gt;
Create once-only services&lt;br /&gt;
* Kerberos and Kerberos Backup&lt;br /&gt;
* Create a new account for the PBX hosting provider in my.innovaphone (if the generic staging is to be used, see above)&lt;br /&gt;
&lt;br /&gt;
===== Shared Services =====&lt;br /&gt;
Create services shared by a set of customers: &lt;br /&gt;
* Frontend&lt;br /&gt;
* Media-PBX&lt;br /&gt;
* Metadir &lt;br /&gt;
* Reporting LinuxAP&lt;br /&gt;
* Fax Linux-AP&lt;br /&gt;
* copy update/staging scripts (global.txt, cfg-*.txt, dev-*.txt)  tot he Frontend drives (those are identical on all Frontends)&lt;br /&gt;
* create appropriate local.txt on Frontend&lt;br /&gt;
&lt;br /&gt;
===== New Customer =====&lt;br /&gt;
* create IPVA with customer PBX&lt;br /&gt;
* create appropriate &amp;lt;code&amp;gt;set-&amp;lt;/code&amp;gt;&#039;&#039;customer-ID&#039;&#039;&amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; on Frontend&lt;br /&gt;
* create appropriate user objects on customer PBX as well as corresponding SessionBorder objects on Frontend&lt;br /&gt;
* create project for customer in my.innovaphone, set &#039;&#039;URL&#039;&#039; to the PBX hosting provider’s &amp;lt;code&amp;gt;staging.txt&amp;lt;/code&amp;gt; on the appropriate Frontend (e.g. https://212.124.38.120/DRIVE/CF0/update/staging.txt) and the encoded public key of the hosting providers RootCA as  &#039;&#039;Trust&#039;&#039; (as taken from a config file)&lt;br /&gt;
&lt;br /&gt;
===== CPE =====&lt;br /&gt;
* Add device tot he customer project in my.innovaphone&lt;br /&gt;
* factory reset (optional, of course)&lt;br /&gt;
* set &amp;lt;code&amp;gt;http://145.253.157.4/redirect.php&amp;lt;/code&amp;gt; as &#039;&#039;Command File URL&#039;&#039; in &#039;&#039;Services/Upate&#039;&#039; &lt;br /&gt;
* wait for or force poll &lt;br /&gt;
* CPE registers with the Frontend and customer PBX as &amp;lt;code&amp;gt;_UNKNOWN_&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== On-Site (Customer) Support / Debugging ===&lt;br /&gt;
==== Alarms and Events ====&lt;br /&gt;
* Alarms, events should be saved centrally on the Frontend, this way the admin has a full picture of all events and syslog in a Frontend-cluster. The CPE devices are configured by the staging script to send their events/alarms via HTTPS to the Frontend server. &lt;br /&gt;
** incoming Alarms/Events should be authenticated by the Frontend server, the CPEs must be configured (during staging) with the appropriate HTTP-client credentials. The account used for the HTTP-login must be configured with &#039;&#039;Viewer&#039;&#039; rights on the Kerberos - server.&lt;br /&gt;
** the received Alarms/Events can be further forwarded by the Frontend server to a Syslog-server. The received events can be then written in a database/text-file and used for further evaluation. &lt;br /&gt;
** the local event and alarm list is always kept in local Flash memory. The number of entries to keep can be configured in the Services/Logging tab. Since your Frontend-Server should not generate a large amount of events/alarms, you can use the default values(last 50 local events are stored in Flash memory).&lt;br /&gt;
==== Syslog ====&lt;br /&gt;
* the CPEs should not create logs, all relevant information(i.e. state of user-registrations) is retrieved from the Event/Alarm-list&lt;br /&gt;
* IPVAs(e.g. customer PBX) should generate logs and store them locally on their CF-card&lt;br /&gt;
** the recommended Syslog settings are &#039;&#039;PBX calls&#039;&#039; and &#039;&#039;Gateway calls&#039;&#039;&lt;br /&gt;
** depending on the amount of generated logs (i.e. the size of your Customer PBX), the [[Reference9:Services/Logging | Max File Size]] should be set accordingly. You should capture at least 4 days of log information(e.g. allowing to inspect log information created before a weekend)&lt;br /&gt;
* if its required that CPE devices generate logs, it will be necessary to store the log-information on a central server(e.g. Frontend server). However incoming Logs cannot be authenticated by the Frontend server, since this function is not implemented in the innovaphone LOG-server. If incoming Logs should be authenticated, a Linux-AP should be used as central Log-server (the Linux-AP offers the possibility to authenticate incoming logs)&lt;br /&gt;
==== Config backup ====&lt;br /&gt;
* Phone configuration is backed up to the customer PBX CF, using the Update Server mechanism.&lt;br /&gt;
* the configuration of devices in the Hoster-network( e.g. Media-PBX, etc.) are saved on the CF-card of the Frontend-server&lt;br /&gt;
&lt;br /&gt;
====Accessing the web-interfaces of devices====&lt;br /&gt;
* All devices (including CPE) have joined the Kerberos domain. As a result, all administrators are able to log in (provided they have access to the customers network, TeamViewer is an option)&lt;br /&gt;
&lt;br /&gt;
=== Reporting (Multiple PBX) ===&lt;br /&gt;
&lt;br /&gt;
 NEEDS TO BE UPDATED (TLE)&lt;br /&gt;
&lt;br /&gt;
The LinuxAP VM for reporting needs to have quite a large CF to be able to store all CDR data for a reasonable time period. &lt;br /&gt;
&lt;br /&gt;
* VMWare disk size should be 50GB initially.  This is based on a rough estimate of 200 customers and a time frame of 1 year&lt;br /&gt;
: rough estimate.  Time will tell&lt;br /&gt;
* RAM 1GB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Naming Conventions ====&lt;br /&gt;
&lt;br /&gt;
To grant access for customers (and reseller) to the Reporting login page (https://Reporting-IP-Adress/apps/innovaphone-reporting/user/login.php), it&#039;s nessesary to create a cdr filter called &amp;quot;base filter&amp;quot; and a user login which is bound to this base filter.&lt;br /&gt;
These logins and filters can only be edited and created by the hoster (i.e. cloudkom).&lt;br /&gt;
Since the customer can&#039;t change his credentials we use the &amp;quot;customer ID&amp;quot; and the &amp;quot;customer registration password&amp;quot; for further steps. &lt;br /&gt;
&lt;br /&gt;
As we mentioned in chapter [[#Customer_PBX|Customer PBX]] each customer needs a uniqe PBX name, but different customers may share the same &amp;quot;System Name&amp;quot;.&lt;br /&gt;
For this reason it&#039;s nessasary to set the Grouping-ID in the Reporting application to &#039;&#039;PBX Name&#039;&#039; (as set in &#039;&#039;Config/PBX&#039;&#039;).&lt;br /&gt;
Never change this setup because filters are depending on the Grouping ID!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter parameters for customers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Base Filter: &amp;lt;leave it empty&amp;gt;&lt;br /&gt;
* Filter Name: &#039;&#039;customer ID&#039;&#039; (which is the &#039;&#039;PBX Name&#039;&#039;,  i.e &amp;lt;code&amp;gt;Kuenkel00001&amp;lt;/code&amp;gt;)&lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; (which is the &#039;&#039;PBX Name&#039;&#039;,  i.e &amp;lt;code&amp;gt;Kuenkel00001&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User configuration for customers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Name:  &amp;lt;customer ID&amp;gt;&lt;br /&gt;
* Password: &#039;&#039;customer registration password&#039;&#039;&lt;br /&gt;
* Base Filter(s): &#039;&#039;customer filter name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For reasons of billing (or whatever) it could be fine for resellers to have a filter for all of -his- sold PBXs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible filter parameters for reseller:&#039;&#039;&#039;&lt;br /&gt;
(in fact, the reseller id is a customer id, because the only difference is the filter content)&lt;br /&gt;
&lt;br /&gt;
* Base Filter: &amp;lt;leave it empty&amp;gt;&lt;br /&gt;
* Filter Name: &#039;&#039;reseller ID&#039;&#039; (i.e. innovaphone00001) &lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; +&lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; +&lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User configuration for reseller:&#039;&#039;&#039;&lt;br /&gt;
* Name:  &#039;&#039;reseller ID&#039;&#039;&lt;br /&gt;
* Password: &#039;&#039;reseller registration password&#039;&#039;&lt;br /&gt;
* Base Filter(s): &#039;&#039;reseller filter name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Konfiguration Reporting ====&lt;br /&gt;
* Grouping ID: PBX-Name&lt;br /&gt;
* Create filter and user logins for the customer&lt;br /&gt;
* LDAP?&lt;br /&gt;
* Report Mails?&lt;br /&gt;
&lt;br /&gt;
====Konfiguration Kunden-PBX ====&lt;br /&gt;
===== Gateway / CDR0 =====&lt;br /&gt;
* &#039;&#039;Type&#039;&#039; &amp;lt;code&amp;gt;Remote-AP-S&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;Address&#039;&#039; &#039;&#039;Reporting Linux-AP IP address&#039;&#039;&lt;br /&gt;
* &#039;&#039;Port&#039;&#039; &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;&lt;br /&gt;
===== PBX / myPBX / Call List Service =====&lt;br /&gt;
* &#039;&#039;Type&#039;&#039; &amp;lt;code&amp;gt;Remote-AP&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;Host&#039;&#039; &#039;&#039;Frontend-IP-addr:HTTPS-Portmap-on-Frontend-to-Reporting-App&#039;&#039;&lt;br /&gt;
* &#039;&#039;User&#039;&#039; &amp;lt;code&amp;gt;innovaphone-reporting&amp;lt;/code&amp;gt; ?????&lt;br /&gt;
* &#039;&#039;pass&#039;&#039; &amp;lt;code&amp;gt;reporting&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In contrast to the CDR0 interface, the Call-List-Service doesn&#039;t offer the possibility to choose the &#039;&#039;Type&#039;&#039; &amp;lt;code&amp;gt;Remote-AP-S&amp;lt;/code&amp;gt;. The myPBX client decides which protocol to use (HTTP or HTTPS) depending on the URL (http or https)used to connect to the PBX. So if myPBX uses HTTPS to connect to the PBX, it will use also HTTPS to connect to the Reporting-App.&lt;br /&gt;
&lt;br /&gt;
=== Fax Server ===&lt;br /&gt;
&lt;br /&gt;
 NEEDS TO BE UPDATED (afI)&lt;br /&gt;
&lt;br /&gt;
A LinuxAP VMware disk size of 50GB should be sufficient. Configure the size of the virtual drive before starting the Linux installation for the first time.&lt;br /&gt;
&lt;br /&gt;
Since the FAX-Interface must be reachable from the public network, it must be offloaded from the Customer VM to the Media Gateway. The SOAP connection from the Faxserver application will be still directed to the Customer VM/PBX.&lt;br /&gt;
&lt;br /&gt;
[[Image:Routing_fax.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the customer VM we have to configure a Gateway Object and routes to and from GWxx which is registered on the Media Relay instance. We reuse HTTP-EXT registration at this point to send Fax calls to Media.&lt;br /&gt;
====Customer PBX Settings for Faxserver====&lt;br /&gt;
** Gateway Object Name= &amp;lt;code&amp;gt;Fax&amp;lt;/code&amp;gt;, Number= &amp;lt;code&amp;gt;some prefix number used for Fax extensions&amp;lt;/code&amp;gt;, Option &amp;quot;Prefix&amp;quot; activated&lt;br /&gt;
** add the Gateway Object to the SOAP/TAPI group, in order it is visible for SOAP applications connecting to this PBX&lt;br /&gt;
** Prepare User Objects for Fax usage:&lt;br /&gt;
*** Fax License must be assigned&lt;br /&gt;
*** E-Mail must be configured and must match the sender address&lt;br /&gt;
&lt;br /&gt;
====Customer Gateway Settings for Faxserver====&lt;br /&gt;
** Fax GWxx, Register as Gateway, 127.0.0.1, Name= &amp;lt;code&amp;gt;Fax&amp;lt;/code&amp;gt;&lt;br /&gt;
** Route GWxx (Fax) --&amp;gt; ###13 GWyy (HTTP-EXT)&lt;br /&gt;
** Route GWyy (HTTP-EXT) --&amp;gt; GWxx (Fax)&lt;br /&gt;
&lt;br /&gt;
For multiple customer PBXes we define a single Gateway with FAX Interface:&lt;br /&gt;
&lt;br /&gt;
====Media PBX====&lt;br /&gt;
** Gateway Object Name= &amp;lt;code&amp;gt;fax&amp;lt;/code&amp;gt;, Number= &amp;lt;code&amp;gt;###13&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Media Gateway====&lt;br /&gt;
** Interface FAX, Internal Registration, 127.0.0.1, Name= &amp;lt;code&amp;gt;fax&amp;lt;/code&amp;gt;, Coder G711,20 , &amp;quot;Enable T.38&amp;quot;&lt;br /&gt;
** HTTP-Client must be configured to use [[Howto:Hosting#Kerberos_User|credentials for programmatic access]] to be able to read and write to WebDAV Server on LinuxAP with Faxserver application.&lt;br /&gt;
&lt;br /&gt;
====Faxserver Instance====&lt;br /&gt;
&lt;br /&gt;
For each Customer VM an own Faxserver instance on the LinuxAP must be configured (one LinuxAP, multiple Faxserver instances for every Customer).&lt;br /&gt;
&lt;br /&gt;
** SOAP connection must be configured to point at the PBX running on the Customer VM&lt;br /&gt;
** E-Mail Account configuration is important to be able to deliver E-Mails to the Faxserver via SMTP&lt;br /&gt;
*** The E-Mail account, configured at the Faxserver instance, will be used at teh Customers Mailserver to authenticate against the Mailserver on Faxserver&lt;br /&gt;
&lt;br /&gt;
==== Mail to Fax Gateway ====&lt;br /&gt;
Für Kunden, auf deren POP3 Server aus Cloudkom Netz nicht zugegriffen werden kann, wird ein SMTP Server auf Basis von IP-AP aufgestellt. Dort können die Kunden dann per E-Mail die Faxe anliefern. (&amp;lt;mantis-issue id=89710/&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Use Case &amp;quot;Fax verschicken&amp;quot;:&lt;br /&gt;
*Kunde schickt aus dem E-Mail Programm ein Mail mit PDF-Anhang an z.B. &amp;lt;code&amp;gt;+497031730099@fax.cloudkom.com&amp;lt;/code&amp;gt;&lt;br /&gt;
*Rufnummer für Zielfax muss im User Part der To: Mailadresse stehen (im Beispiel ist es +497031730099)&lt;br /&gt;
*Das passende Postfach für Fax Server des jeweiligen Kunden wird anhand der From: Mailadresse bestimmt.&lt;br /&gt;
&lt;br /&gt;
Damit die From: Adresse nicht gefaked werden kann, werden nur authentifizierte SMTP-Verbindungen zugelassen. Der Kunde muss dazu bei sich im Exchange einen &amp;quot;SMTP Send Connector&amp;quot; für die Domäne fax.cloudkom.com einrichten ([http://msexchangefaq.de/connector/sendconnector.htm]) mit Basic Auth over TLS.&lt;br /&gt;
&lt;br /&gt;
Als SMTP-Server kann man ein Postfix mit Postgresql Erweiterung nehmen, damit man die Kunden Daten (Domains, Postfächer, Logins) direkt aus der Fax Server Datenbank lesen kann.&lt;br /&gt;
&lt;br /&gt;
Als POP3-Server (damit Fax Server die Mails lesen kann) wird dann Dovecot eingesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Implementierung: [http://wiki-intern.innovaphone.com/index.php?title=E-Mail_Fax_Server_Gateway_(Project_Cloudkom) E-Mail_Fax_Server_Gateway_(Project_Cloudkom)].&lt;br /&gt;
&lt;br /&gt;
=== Directories ===&lt;br /&gt;
There are 2 services provided to customers:&lt;br /&gt;
# the PBX directory&lt;br /&gt;
# an optional company-wide directory (external LDAP)&lt;br /&gt;
==== PBX Directory (extensions) ====&lt;br /&gt;
* one NAT port map is to be created per customer on the Frontend for port LDAPS (TCP source port xxx to target Port 636)&lt;br /&gt;
:This port can be used in the phone’s  &#039;&#039;Port&#039;&#039;  field in the &#039;&#039;PBX&#039;&#039; area in &#039;&#039;Phone/User/Directories/PBX&#039;&#039;.  The PBX LDAP server’s IP address is implied from the registration data.  This way, the  CPE will in fact access the customer PBX’s LDAP server as opposed to the Frontend’s one&lt;br /&gt;
* LDAPS can be used safely, as the CPE’s LDAP client does not verify the certificate anyway (although it would be trusted as it is derived from the PBX hosting provider’s RootCA)&lt;br /&gt;
&lt;br /&gt;
====External Directory ====&lt;br /&gt;
=====Estos Metadir=====&lt;br /&gt;
*there is one Metadir server per Frontend which serves all customers associated with this Frontend.  Hence there is one inbound NAT port map that maps one port to the Metadir server’s LDAPS port.  This map is used from all customers.  Customer specific directories are implemented as logical views in the Metadir LDAP server, not as separate servers &lt;br /&gt;
*there is thus one distinct LDAP node (dc=&#039;&#039;customer-ID&#039;&#039;) per customer &lt;br /&gt;
* there is also one distinct replicator for each customer (which is used to import the customers directory data in to the Metadir)&lt;br /&gt;
**Replicator&lt;br /&gt;
*** The customer would provide its contact database as „comma separated CSV (Windows)“ file (e.g. as exported from Outlook)&lt;br /&gt;
*** The file must have the columns &#039;&#039;&amp;quot;Surname&amp;quot;,&amp;quot;Firstname&amp;quot;,&amp;quot;Company&amp;quot;,&amp;quot;Busines Phone &amp;quot;,&amp;quot;Mobile Phone&amp;quot;&#039;&#039;&lt;br /&gt;
*** All numbers must be in E164 format, e.g. +49703173009123&lt;br /&gt;
*** File name is &amp;lt;code&amp;gt;contacts.csv&amp;lt;/code&amp;gt; &lt;br /&gt;
*** The file is uploaded to the Frontend’s CF-file system&lt;br /&gt;
*** Each customer has its own directory (&amp;lt;code&amp;gt;https://212.124.38.120/DRIVE/CF0/directory/&amp;lt;/code&amp;gt;&#039;&#039;customer-ID&#039;&#039;) on the Frontend.  This is the place &amp;lt;code&amp;gt;contacts.csv&amp;lt;/code&amp;gt; has to be uploaded to. For this to work, the path must be set to write-only on the Frontend!&lt;br /&gt;
*** Customers can use e.g. [http://curl.haxx.se/dlwiz/?type=bin&amp;amp;os=Win32&amp;amp;flav=-&amp;amp;ver=2000%2FXP curl].  Syntax: &amp;lt;code&amp;gt;curl --verbose -k https://212.124.38.120/DRIVE/CF0/directory/customer-ID/ -T contacts.csv&amp;lt;/code&amp;gt;. Note that standard WebDAV clients will probably not work due to the fact that this directory is write-only.&lt;br /&gt;
&lt;br /&gt;
Structure on Frontend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/DRIVE/CF0/&lt;br /&gt;
    directory/                  - write-only w/o authentication&lt;br /&gt;
      customer-ID/           &lt;br /&gt;
        contacts.csv            &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Metadir has a duplicate of the Frontend’s directory structure&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    C:\directory\&lt;br /&gt;
      script.bat                - script that retrieves customer directory data &amp;lt;code&amp;gt;contacts.csv&amp;lt;/code&amp;gt;  from the Frontend, called by replicator&lt;br /&gt;
      contacts.csv              - sample &lt;br /&gt;
      customer-ID\           &lt;br /&gt;
        contacts.csv           - customer data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Metadir’s per-customer replicator imports the local contacts.csv when run.  Before doing so, it calls script.bat which retrieves the appropriate contacts.csv from the SB (this behaviour needs to be configured in Metadir, &#039;&#039;Database Wizard&#039;&#039;, &#039;&#039; Zusätzliche Anwendungen(additional applications)&#039;&#039;).&lt;br /&gt;
: script.bat copies the then-current customer’s contact.csv from the Frontend using curl (curl - syntax: &amp;lt;code&amp;gt;curl --verbose -k -u user:password https://10.30.255.0/DRIVE/CF0/directory/%1/contacts.csv -o c:\directory\%1\contacts.csv&amp;lt;/code&amp;gt;&lt;br /&gt;
:  user:password in script.bat are administrator credentials valid on the Frontend (as contact.csv files are read-only, see above)&lt;br /&gt;
* Each replicator will be run every 3 hours &lt;br /&gt;
: The replicator can also be triggered from the cmd-line (calling e.g. &amp;lt;code&amp;gt;TextReplicator.exe &amp;lt;/code&amp;gt; as found in the Metadir installation directory. Start a replicator from the GUI and have a look at lastreplicator.bat in the install directory).   This may be useful if the PBX hosting provider has implemented a user portal to upload the contact data.  &lt;br /&gt;
* The replicator is created using the &#039;&#039;Replicator-Wizard&#039;&#039; and associates the .csv columns to the respective LDAP attributes/DB field names. A combination of all attributes is used as primary key&lt;br /&gt;
: [[Media:Cloudkom-Metadir-Replikator.png | Replicator Overview]]&lt;br /&gt;
*LDAP-nodes:&lt;br /&gt;
** LDAP node access authentication is based on distinct, per-customer users, username (=&#039;&#039;customer ID&#039;&#039;), password(=&#039;&#039;customer registration password&#039;&#039;). No IP address restriction is used.&lt;br /&gt;
** profile is &#039;&#039;Default&#039;&#039; always, no customer specific profile is required (this is handled using the phone’s &#039;&#039;Dialing Location&#039;&#039;)&lt;br /&gt;
** [[Media:metadir-LDAP-Knoten-config.png | Settings]] can be seen  in the screenshot &lt;br /&gt;
Here is how to export contact data from Outlook 2010:&lt;br /&gt;
** as far as we know it is only possible to export your own contact list. In case that all users use a global contact list, this list has to be copied first into your own contact entry list.(select [Global List](e.g. IP Kontakte) -&amp;gt; right click  -&amp;gt; copy -&amp;gt; choose own contacts)&lt;br /&gt;
** From  Outlook &#039;&#039;File -&amp;gt; Open -&amp;gt; Import -&amp;gt; Export to file -&amp;gt; comma separated values (Windows) -&amp;gt; (select contact folder) -&amp;gt; &amp;quot;Map custom fields&amp;quot;(german: Benutzerdefinierte Felder zuordnen) -&amp;gt; choose &amp;quot;Surname&amp;quot;,&amp;quot;Firstname&amp;quot;,&amp;quot;Company&amp;quot;,&amp;quot;Busines Phone&amp;quot;,&amp;quot;Mobile Phone&amp;quot;-&amp;gt; Finish&#039;&#039;&lt;br /&gt;
*LDAPS&lt;br /&gt;
** Just any certificate will do on the Metadir, as the LDAP client does not validate the certificate &lt;br /&gt;
** Metadir uses port 714 for LDAPS, Frontend needs an appropriate NAT Map&lt;br /&gt;
=====LDAP-Client=====&lt;br /&gt;
* directory settings should be set in a PBX &#039;&#039;Config template&#039;&#039;-type object in the customer PBX and applied to all user objects there &lt;br /&gt;
: [[Media: Cloudkom-Metadir-Ldapclient.png | Phone/User/Directories/External LDAP Server Settings]]&lt;br /&gt;
: &#039;&#039;Dialing Location&#039;&#039; settings need to be done according to the customers trunk line settings&lt;br /&gt;
=====myPBX=====&lt;br /&gt;
* external directory lookups for myPBX are done by the PBX rather than by the myPBX client itself. The directory configuration is taken from the users phone configuration (as stored in the PBX). This of course presents a problem as the phone configuration will use the external Frontend NAT map data for the Metadir, whereas the PBX itself – sitting in the PBX hosting providers private network – needs to use Metadirs private address. There is a special configuration parameter for the PBX which sets the LDAP configuration used for any directory lookup performed for myPBX:&lt;br /&gt;
: &amp;lt;code&amp;gt;config add PBX0 /ldap-default-addr local-ip-addr-of-metadir /ldap-default-port 714&amp;lt;/code&amp;gt; (714 is Metadirs LDAPS port)&lt;br /&gt;
&lt;br /&gt;
=== Voicemail ===&lt;br /&gt;
Voicemail is run on the customers PBX as usual.  However, as discussed before, the Webmedia (a.k.a &amp;lt;code&amp;gt;HTTP&amp;lt;/code&amp;gt;) interface on the media PBX must be used.  VM xml script and recorded voice mail files are stored on the customer PBX’s CF card as usual though.  The trick is to have a registration to the customer PBX’s voice mail object.  If this is present, voice mail will use this registrations to terminate media data rather than the local Webmedia (which is the default).&lt;br /&gt;
&lt;br /&gt;
The registration on the local VM object needs to connect calls to the remote HTTP interface on the media PBX.  This is implemented using a GWx interface in the customer PBX’s gateway level which registers to the VM object.  There is a route from this GWx to the GWy which in turn registers with the media PBXs &amp;lt;code&amp;gt;HTTP-EXT&amp;lt;/code&amp;gt; object (there are no calls to the VM object ever).&lt;br /&gt;
&lt;br /&gt;
==== PBX ====&lt;br /&gt;
* voicemail-object&lt;br /&gt;
** Hardware-ID = &amp;lt;code&amp;gt;vmrelay&amp;lt;/code&amp;gt;&lt;br /&gt;
** Script-URL (installed on local CF Card as usual) = &amp;lt;code&amp;gt;https://customer-PBX-IP-address (not 127.0.0.1!)/DRIVE/CF0/vm-de/vm.xml?$_divconn=false&amp;lt;/code&amp;gt; (this URL will be evaluated on the media PBX, this is why 127.0.0.1 will not work!)&lt;br /&gt;
** suitable extension depending on customers numbering plan&lt;br /&gt;
&lt;br /&gt;
==== Gateway ====&lt;br /&gt;
** vmrelay GWxx, Register as Gateway, 127.0.0.1, Name= &amp;lt;code&amp;gt;vmrelay&amp;lt;/code&amp;gt;&lt;br /&gt;
** Route GWxx (vmrelay) --&amp;gt; ###12 GWyy (HTTP-EXT)&lt;br /&gt;
&lt;br /&gt;
==== MWI ====&lt;br /&gt;
Simpkly works as is.&lt;br /&gt;
&lt;br /&gt;
==== Mail MWI ====&lt;br /&gt;
Mails are sent through the PBX hosting provider’s own mail server. This may require authenticated SMTP.  This needs to be configured in each &amp;lt;code&amp;gt;email.xml&amp;lt;/code&amp;gt; in the customer PBX’s voice mail installation:&lt;br /&gt;
&lt;br /&gt;
* message sender&lt;br /&gt;
* Subject of MWI mail&lt;br /&gt;
* mail server&lt;br /&gt;
* credentials&lt;br /&gt;
&lt;br /&gt;
Apart from the mail subject (which is language dependant), this is identical for all customers, so it can be done once and copied then. &lt;br /&gt;
&lt;br /&gt;
User Email addresses must currently be set in each user object’s &#039;&#039;URL&#039;&#039; attribute (or in a separate file in the user directory).&lt;br /&gt;
&lt;br /&gt;
=== Operator ===&lt;br /&gt;
&lt;br /&gt;
 to be updated &lt;br /&gt;
&lt;br /&gt;
innovaphone Operator v10 can be installed in local client location and connects directly to client IPVA using HTTP-SOAP connection using the same Port used for HTTP management defined on the SBC.&lt;br /&gt;
&lt;br /&gt;
All SOAP communication goes through this HTTP connection so all features will be available and working properly. The LDAP configuration of the Operator v10 is similar to the one performed in the IP Phones.&lt;br /&gt;
&lt;br /&gt;
=== Mobility ===&lt;br /&gt;
&lt;br /&gt;
Mobility needs access to DTMF tones and thus to the RTP media stream.  As the customer-PBX has no public IP address, again, the media for all mobility calls must be routed through the media-PBX linked to the customer PBX.&lt;br /&gt;
&lt;br /&gt;
In the media-PBX, we need a &#039;&#039;media-relay-loop&#039;&#039; gateway-type object (no &#039;&#039;Prefix&#039;&#039; check-mark ticked) with a gateway GWx interface registered to it.  On the media&#039;s gateway level, there is a route that routes calls to this interface directly back to that interface.  This GWx interface used must have the &#039;&#039;Media-Relay&#039;&#039; check-mark ticked.  Calls to the media-PBX&#039;s &#039;&#039;media-relay-loop&#039;&#039; object are thus echoed straight back to the PBX.  However, the media-stream will be terminated on the media, so that it is available from the media&#039;s public IP address.  &lt;br /&gt;
&lt;br /&gt;
On the customer-PBX, a gateway-type object is created that sends calls to the media&#039;s &#039;&#039;media-relay-loop&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For incoming mobility calls to work, they must be recognized within the gateway level (that is, the mobility object&#039;s extension must be known) and routed through the aforementioned media-loop before it ends up in the client-PBX&#039;s mobility object.&lt;br /&gt;
&lt;br /&gt;
For outgoing calls, the fork destination must be set such that the outgoing mobility calls are first sent through the media&#039;s &#039;&#039;media-relay-loop&#039;&#039; before they end up in the client PBX&#039;s trunk.&lt;br /&gt;
&lt;br /&gt;
=== DECT ===&lt;br /&gt;
&lt;br /&gt;
 to be updated&lt;br /&gt;
&lt;br /&gt;
=== Backup ===&lt;br /&gt;
&#039;&#039;Disaster recovery&#039;&#039; backup ist o be done by the operator of the VMware infrastructure. &lt;br /&gt;
&lt;br /&gt;
User data (PBX config, CPE configuration) is backed up by the update server as outlined above. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI/Portal ===&lt;br /&gt;
Innovaphone does not supply a dedicated UI for hosting scenarios (neither for the PBX hosting provider nor for the end customer).   It is envisaged that hosting providers will craft their own tool for this, as this is highly related to the provider’s business model.&lt;br /&gt;
&lt;br /&gt;
===Special scenarios===&lt;br /&gt;
* Customer-setups where the phones are in separated private networks, e.g. home-office without VPN to LAN of main-office. In this case the phones in different private networks can not send RTP-packets to each other. To overcome this problem, the media-relay option at the SessionBorder object must be enabled for those SessionBorder objects that have registration from &amp;quot;foreign&amp;quot; networks. If the Frontend is used as RTP-endpoint(i.e. by activating the media-relay option), the UDP-RTP port-range(by default 16384 / 32767) must be configured.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* Customers-setups with Master-Slave PBXs are not supported. The problem here is that the Master &amp;amp; Slave PBX are within the hosting provider’s private network and some PBX mechanism (e.g Registration-Redirection, Soap) would return IP-addresses with IP-addresses from the provider’s private network to device at the customer site. (e.g. a phone registering at a PBX might get an indication to register at another PBX - however the IP-address in this Redirection is in the hosting provider’s private network, therefore unknown to the phone).&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
[[Howto:A rough estimate of IPVA Performance]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Hosting_with_V10&amp;diff=32486</id>
		<title>Howto:Hosting with V10</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Hosting_with_V10&amp;diff=32486"/>
		<updated>2014-01-25T13:46:01Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Configuration of customer related objects in the customer’s PBX and Frontend, new figure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes general recommendations for setting up a „hosted PBX“-environment.  It is based on a reference implementation done early 2013.   Everything said in this article is merely a recommendation and you may deviate from it for real-life projects.  However, it may still serve as a guideline of “what to think of”.&lt;br /&gt;
&lt;br /&gt;
There are no specific configurations given throughout the article.  As such, it targets an iCE with some decent knowledge about innovaphone products as an audience.&lt;br /&gt;
&lt;br /&gt;
This article is still “work in progress”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: centrex --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Each customer receives a dedicated PBX (best run as IPVA).  So no “dynamic PBX”s are used. Each customer has exactly one such PBX.  So no Slave- (as they do not seem to make sense) and no Standby-PBX (as this is better implemented using VMware tools such as High Availability or Fault Tolerance).   This article does explicitly not deal with mixed environments where some PBXs are hosted and some on-premise.&lt;br /&gt;
&lt;br /&gt;
Further services (apart from the basic PBX) such as e.g. fax are provided by multi-tenant capable applications.   How many customers and/or users (i.e. extensions) can be served by a single such application is for further study.  However, from an administration point-of-view, it seems to be easier calculating the same application-server to number-of-customers ratio for all the applications, as it allows organizing the whole setups in clusters where a specific set of customers is associated to a specific set of application servers.  &lt;br /&gt;
&lt;br /&gt;
In a real-life setup, there may or probably will be a central management server which may run software to simplify the management of the whole setup as well as provide an end customer portal.  This server, called ‘’Management Server‘‘ in the overview graph is thought to be specific to the PBX hosting provider and is thus – although it has an important impact – not discussed in this document. &lt;br /&gt;
&lt;br /&gt;
[[Image:Cloudkom-grobuebersicht1.png]]&lt;br /&gt;
&lt;br /&gt;
Most of the hosted services, as well the customer-PBXs and the shared services, will be located in a private network run by the hosting provider.  This is to make sure they cannot be easily attacked and also to save on publicly available IP addresses (which may be a scarce resource).   As a result, from a TCP/IP point-of-view, these services are not reachable from the customers own private network.  Also, to save on resources and reduce complexity, no VPN is set up between the customer and the hosting provider.  To implement the required customer access to these services, there are 2 extra services which need to have an additional external IP address (“dual homed”).  These are called “Frontend” and “Media-PBX”.&lt;br /&gt;
&lt;br /&gt;
The Frontend provides:&lt;br /&gt;
&lt;br /&gt;
* Proxy registration of customers terminal devices (e.g. phones) located on premise to the customer PBX&lt;br /&gt;
: Terminals in fact register with the Frontend which in turn entertains a proxy-registration to the customer PBX for each endpoint&lt;br /&gt;
* inbound NAT with port maps for selected protocols (such as e.g. HTTPS/443 und LDAPS/636,714)&lt;br /&gt;
&lt;br /&gt;
The Media-PBX &lt;br /&gt;
&lt;br /&gt;
* provides a reachable media endpoint for media data provided or consumed by services within the hosting providers private newtork&lt;br /&gt;
: This includes e.g. &#039;&#039;music on hold&#039;&#039;, locally generated calling tones, Voicemail, multi-party conferences and fax&lt;br /&gt;
This architecture ensures that the hosting providers network topology is invisible to 3rd parties (including possible attackers).  Furthermore, the hosting provider only needs 2*n+1 public IP Addresses (where &#039;&#039;n&#039;&#039; is the number of &#039;&#039;shared service&#039;&#039; groups). &lt;br /&gt;
The “dual homed” gateways must be configured to have ETH0 (default interface) connected to the &#039;&#039;public network&#039;&#039; and ETH1 connected to the &#039;&#039;hoster network&#039;&#039;.&lt;br /&gt;
[[Image:Cloudkom-netzuebersicht1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Media:CloudKom-Übersicht.png|Design Overview]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SIP Provider ====&lt;br /&gt;
Each customer has its own SIP trunk, configured on the according customer IPVA. The SIP trunk must be configured without using MediaRelay. As a result, if a customer makes a call to the PSTN(SIP provider), the RTP-stream goes end-to-end - between the SIP-provider and the phone at the customer site. Since the customer phone is behind a NAT router, the SIP provider must support NAT traversal.&lt;br /&gt;
&lt;br /&gt;
In general a [[:Category:3rdParty SIP Provider|certified SIP-provider]] can be used, if the provider passed the interop-test for [[Howto:SIP_Interop_Test_Description#NAT_Detection.28Important.29 | NAT Traversal]], [[Howto:SIP_Interop_Test_Description#Fax_using_T.38.28Important.29 | T.38]], [[Howto:SIP_Interop_Test_Description#Reverse_Media_Negotiation.28Important.29 | Reverse Media Negotiation]] and doesn&#039;t require MediaRelay to be enabled.&lt;br /&gt;
&lt;br /&gt;
==== Passwords ====&lt;br /&gt;
Throughout the system, a number of passwords are used in various places.  It is critical to use as less passwords as possible to make day-to-day administration easy and as much passwords as necessary to keep things secure.  So here is an overview: &lt;br /&gt;
&lt;br /&gt;
* Admin passwords&lt;br /&gt;
: Admin user authentication is based on Keberos.  Each admin thus can and should have individual accounts and passwords (referred to as &#039;&#039;individual admin password&#039;&#039;)&lt;br /&gt;
: all devices shall have a &amp;quot;local admin&amp;quot; passsword which should be kept secret and not be known by normal administrators and should normally never be used.  This is referred to as &#039;&#039;system-wide admin password&#039;&#039;&lt;br /&gt;
* PBX passwords&lt;br /&gt;
: PBX passwords needs to be the same in all oft the hosting providers PBXs (and do not need to be typed-in anywhere except during a PBXs initial configuration) .  The are referred to as &#039;&#039;PBX password&#039;&#039;&lt;br /&gt;
* Object password. There are 2 kinds:&lt;br /&gt;
** Passwords, which need to be known to the customer.  Registration passwords for terminal devices would be an example. Those are referred to as &#039;&#039;customer registration password&#039;&#039;). Another example are initial passwords for myPBX (that is, user passwords).  They are referred to as &#039;&#039;customer login password&#039;&#039;.  For each customer (not for each line), a distinct &#039;&#039;customer registration password&#039;&#039; is defined, which normally never changes. Furthermore, another &#039;&#039;customer login password&#039;&#039; is generated, which is used initially for all user objects but will be changed by the end users.&lt;br /&gt;
** Password which are not disclosed to the customer.  These are used for internal registrations, e.g. a local interface or gateway registering at the customer PBX.  For this, the &#039;&#039; pbx password&#039;&#039; will always be used &lt;br /&gt;
* Kerberos DB password&lt;br /&gt;
: The &#039;&#039;PBX password&#039;&#039; shall be used for encryption of the Kerberos database (as it does make no sense to use a different password here)&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the Linux AP has no support for Kerberos so separate admin password are required.  We distinguish passwords used during daily administration and those which are not. &lt;br /&gt;
&lt;br /&gt;
* Linux Admin password&lt;br /&gt;
:this is the password used in day-to-day administration, referred to as &#039;&#039;Linux Admin password&#039;&#039;.  It is used as &#039;&#039;web server credentials&#039;&#039;, &#039;&#039;webdav access credentials&#039;&#039;, &#039;&#039;application access credentials&#039;&#039;, &#039;innovaphone Reporting access credentials&#039;&#039;, &#039;&#039;innovaphone Fax access credentials&#039;&#039; etc.&lt;br /&gt;
* Linux System password&lt;br /&gt;
: the password that is used as &#039;&#039;root credentials&#039;&#039;. For this, the &#039;&#039;PBX password&#039;&#039; shall be used&lt;br /&gt;
: The database passwords (e.g. &#039;&#039;postgresql admin password&#039;&#039;) can be left as by default, as the DB server is accessible from 127.0.0.1 only anyway&lt;br /&gt;
&lt;br /&gt;
==== Customer-ID ====&lt;br /&gt;
Each customer should have a unqiue &#039;&#039;customer id&#039;&#039;.  It should be “safe” (that is, no umlaut, no spaces, no obscure special characters).   Something like e.g.  &amp;lt;code&amp;gt;Kuenkel0001&amp;lt;/code&amp;gt; will do.&lt;br /&gt;
==== NTP ====&lt;br /&gt;
All devices require correct time setting.  They all must have be a working NTP time source configured (and probably also a working alternate).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;dual-homed&#039;&#039; devices (see above) shall use 2 reliable time sources (either run by the hosting provider or from the internet).  All other devices shall use &amp;quot;their&amp;quot; own Frontend as NTP Server (a backup time source is not strictly required here as these devices are anyway unusable for customers when the Frontend is down).&lt;br /&gt;
&lt;br /&gt;
=== Certificates  ===&lt;br /&gt;
The entire HTTP and LDAP traffic from and to the customers network is encrypted.  This affects for example a customers access to the PBX (e.g. if the customer is granted (limited) access to the PBX config or for myPBX), as well as access to the reporting service.  &lt;br /&gt;
&lt;br /&gt;
To facilitate access to these devices without any warnings issued by the clients (e.g. browser security alerts) all devices require suitable certificates (that is, the host name and IP address must be noted in the certificate and they must be derived from a single signing authority so that end-users only need to import a single root certificate in order to accept all of these device certificates.   &lt;br /&gt;
&lt;br /&gt;
The devices built-in certifcates cannot be used as they only refer to the devices NetBIOS name (e.g. IPVA-a8-5a-38) which will not be used to access the devices.  Also, in the case of IPVA, the default certificate is self-signed as opposed to being derived from the aforementioned uniform root certificate. &lt;br /&gt;
&lt;br /&gt;
To derive device-certificates which all inherit from the same root certificate, a so-called &#039;&#039;RootCA&#039;&#039; is needed. &lt;br /&gt;
&lt;br /&gt;
There are multiple ways to implement this.  Although there are better schemes available, one way to do it that requires no 3rd party gear is to generate a RootCA (in  &#039;&#039;General/Certificates/RootCA&#039;&#039;) on a dedicated IPVA.  This RootCA then can be used to generate all of the other certificates.  They are stored in the IPVA’s virtual CF card (&amp;lt;code&amp;gt;/DRIVE/CF0/CA/certs/&amp;lt;/code&amp;gt;) and can be exported to the other devices from there.&lt;br /&gt;
&lt;br /&gt;
==== RootCA ====&lt;br /&gt;
For the RootCA, we use the IPVA that also implements the central Kerberos server.  Unfortunately, with the current firmware each generated device certificate will also replace the IPVA’s own device certificate.  This is of course somewhat unfortunate, however, it is not really an issue as no end-customer will ever access the Kerberos IPVA anyway.  The Kerberos server itself does not rely on the device certificate. &lt;br /&gt;
&lt;br /&gt;
You first generate a RootCA on the RootCA-IPVA (&#039;General/Kerberos&#039;&#039;).  The following data must be used:&lt;br /&gt;
&lt;br /&gt;
C=&#039;&#039;your-country (e.g. Germany) &#039;&#039;, O=&#039;&#039;hoster&#039;&#039;, CN=&#039;&#039;hoster&#039;&#039; Device Certification Authority, Key-length 4096, lifetime 20 years&lt;br /&gt;
&lt;br /&gt;
This new RootCA (which is now the IPVA’s device certificate) needs to be trusted on the IPVA (&#039;&#039;General/Admin&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==== Device Certificates ====&lt;br /&gt;
To create individual device certificates, use the RootCA created and use the following data: &lt;br /&gt;
&lt;br /&gt;
Key 4096, Common Name=&#039;&#039;devices NetBIOS Name, Organization=&#039;&#039;hoster&#039;&#039;, Country=&#039;&#039;your-country (e.g. Germany) &#039;&#039;, DNS Name 1=&#039;&#039;devices external IP address&#039;&#039;, DNS Name 2=&#039;&#039;devices internal IP address&#039;&#039;, IP Address 1=&#039;&#039;devices external IP address &#039;&#039;, IP Address 2=&#039;&#039;devices internal IP address &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For devices with an internal IP address only, it is important to specify the IP address of the NAT router used to access the device as external IP address (e.g. for a customer PBX, this will be the Frontend used). You specify the IP address only, not the port map.  &lt;br /&gt;
&lt;br /&gt;
If you intend to assign real DNS names to your devices, you may of course specify these as &#039;&#039;DNS Name 3&#039;&#039; too. &lt;br /&gt;
&lt;br /&gt;
In order to be able to export the new certificate to the target device, you need to make sure you tick the &#039;&#039;Backup on CF&#039;&#039; check-mark, so it is saved on the CF as &#039;&#039;serialno&#039;&#039;&amp;lt;code&amp;gt;.pem&amp;lt;/code&amp;gt;.  To transfer the new certificate to the target device, take note of the serial number and download the respective certificate file from &amp;lt;code&amp;gt;/DRIVE/CF0/CA/certs/&amp;lt;/code&amp;gt;&#039;&#039;serialno&#039;&#039;&amp;lt;code&amp;gt;.pem&amp;lt;/code&amp;gt;.  This file can then be uploaded to the target device (&#039;&#039;General / Certificates / Device certificate / Upload&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==== Browser Installation of the Root Certificate ====&lt;br /&gt;
To get rid of the browser security alerts when accessing devices with e.g. HTTPS, the public key of the root certificate must be trusted by the browser.  For this, it needs to be exported in to a file (you can best do this from the RootCA’s trust list in &#039;&#039;General/Certificates/Download/PEM&#039;&#039; into &amp;lt;code&amp;gt;certificate.crt&amp;lt;/code&amp;gt;).  &lt;br /&gt;
&lt;br /&gt;
It must then be imported to the browser.   This needs to be done once by both administrators and customers.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firefox&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Extras / Einstellungen / Erweitert / Zertifikate anzeigen / Zertifizierungsstellen / Importieren&#039;&#039; &lt;br /&gt;
* import the .crt file&lt;br /&gt;
* tick &#039;&#039;Dieser CA vertrauen, um Websites zu identifizieren&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Explorer&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Extras / Internetoptionen / Inhalte / Zertifikate / Beabsichtigter Zweck Clientauthentifizierung / Vertrauenswürdige Stammzertifizierungsstellen / Importieren&#039;&#039;&lt;br /&gt;
* import the .crt file&lt;br /&gt;
&lt;br /&gt;
=== Kerberos ===&lt;br /&gt;
Kerberos is used to implement authentication for all devices.  This includes both devices in the PBX hosting provider’s infrastructure and the CPE.  For this to work, all devices must subscribe to the Kerberos realm.  The PBX hosting provider’s DNS domain (e.g. ‘’hoster’’&amp;lt;code&amp;gt;.tld&amp;lt;/code&amp;gt;) should be used as Kerberos domain name.   This way, Kerberos can be found using DNS SRV records. &lt;br /&gt;
&lt;br /&gt;
The IPVA used as RootCA can be used as master kerberos service too. A stand-alone Kerberos server (that is, the one that is implemented in the &#039;&#039;Gateway&#039;&#039; level) is being used.   The (probably limited) number of admin accounts is maintained manually.  &lt;br /&gt;
&lt;br /&gt;
In fact, if the PBX hosting provider uses an active directory service to manage employee accounts, an AD-replicated PBX run on the central Kerberos IPVA is also a viable option.  &lt;br /&gt;
&lt;br /&gt;
Either way, a standby Kerberos server should be setup as a separate IPVA and can be replicated from the master kerberos as usual.&lt;br /&gt;
&lt;br /&gt;
Unless an active directory is used, no trust relationships are required.  If so, the &#039;&#039;system-wide admin password&#039;&#039; should be used as shared secret.&lt;br /&gt;
&lt;br /&gt;
The devices which rely on kerberos for authentication (that is, all devices!) locate the Kerberos servers using DNS SRV records.  Devices within the hosting provider’s private network use the internal IP address for this; external (e.g. CPE) devices use their respective Frontend.  For this to work, each Frontend needs some UDP NAT maps as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Protocol	Port	Address	Int. Port&lt;br /&gt;
UDP	7465	kerbhost-dup	464	delete&lt;br /&gt;
UDP	7464	kerbhost	464	delete&lt;br /&gt;
UDP	7089	kerbhost-dup	88	delete&lt;br /&gt;
UDP	7088	kerbhost	88	delete &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead of relying on the PBX hosting provider’s DNS server, the SRV records can be set in the devices during staging.  This way, each device can be configured to use its associated Frontend only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change DNS0 /a-name kerberos1i.#(h-domain) &lt;br /&gt;
	/a-addr #(h-kerberos1ip) /a-name kerberos2i.#(h-domain) &lt;br /&gt;
	/a-addr #(h-kerberos2ip) /a-name sbc#(h-sbcindex).#(h-domain) &lt;br /&gt;
	/a-addr #(h-sbcextip) &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target kerberos1i.#(h-domain) /srv-port 88 /srv-prio 0 /srv-weight 0 &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target kerberos2i.#(h-domain) /srv-port 88 /srv-prio 5 /srv-weight 0 &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target sbc#(h-sbcindex).#(h-domain) /srv-port 7088 /srv-prio 10 /srv-weight 0 &lt;br /&gt;
	/srv-name _kerberos._udp.#(h-domain) /srv-target sbc#(h-sbcindex).#(h-domain) /srv-port 7089 /srv-prio 12 /srv-weight 0 &lt;br /&gt;
	/srv-name _kpasswd._udp.#(h-domain) /srv-target kerberos1i.#(h-domain) /srv-port 464 /srv-prio 0 /srv-weight 0 &lt;br /&gt;
	/srv-name _kpasswd._udp.#(h-domain) /srv-target sbc#(h-sbcindex).#(h-domain) /srv-port 7464 /srv-prio 10 /srv-weight 0 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this setup, all devices will prefer the internal IP addresses.  External (e.g. CPE) devices will of course not be able to reach these internal addresses, but they will succeed with one of the Frontends.  Thus CPE devices will use any of the available Frontends, not necessarily their own.  This will work as all Frontends ultimately NAT to the same Kerberos server. &lt;br /&gt;
&lt;br /&gt;
Note: The &#039;&#039;_kpasswd._udp&#039;&#039; SRV entry should point only to the primary Kerberos Server (i.e. either external NAT-map or internal IP-address), since the &#039;&#039;_kpasswd._udp&#039;&#039; is used to join devices to the Kerberos-Realm. It is only possible to join a realm on the master-Kerberos server, not on the standby. As a result, if the Master-Kerberos server is down, it is not possible to join/unjoin device to the Kerberos-Realm. &lt;br /&gt;
&lt;br /&gt;
==== Kerberos User ====&lt;br /&gt;
In addition to the accounts for the administrators, there must be a service account &amp;lt;code&amp;gt;paccess&amp;lt;/code&amp;gt; used for programmatic access to the devices.   This will for example be used by the Metadir server to access the Frontend (and can also be used by a hosting provider specific administration software).   In addition to that, this account is to be configured under &#039;&#039;Services/HTTP/Client&#039;&#039; for URLs &amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; on the Frontend, Media-PBX and customer PBXs.  This allows all these device to access all other devices using HTTP/S.  &lt;br /&gt;
&lt;br /&gt;
The credential for this account need to be kept securely, as they allow admin access to all devices in the infrastructure!&lt;br /&gt;
&lt;br /&gt;
To facilitate automatic join into the kerberos domain during staging, there needs to be an additional special account with &#039;&#039;Join Realm&#039;&#039; rights only: :  &amp;lt;code&amp;gt;joiner, joiner&amp;lt;/code&amp;gt;.  This account is not particularly relevant from a security point of view, as aside from adding or removing devices from a realm nothing relevant can be done on behalf of it.&lt;br /&gt;
&lt;br /&gt;
=== Licenses ===&lt;br /&gt;
It is in the PBX hosting provider’s best interest to implement a centralized license management.  A central licensing server instance is needed thus.   This can be run on the master and standby Kerberos server.  All licenses purchased by the PBX hosting provider are installed here.  The license server runs a PBX.  The only task for this PBX is to host the licenses and distribute them to the Frontend and Media PBXs, which are registered as &#039;&#039;License only&#039;&#039; slaves and will further distribute the licenses to the customer PBXs (which are in turn registered as &#039;&#039;License only&#039;&#039; slaves to their respective Media-PBX).&lt;br /&gt;
&lt;br /&gt;
If you choose to use a PBX based Kerberos server (see above), this same PBXs can be used.&lt;br /&gt;
&lt;br /&gt;
The license server PBXs will have the PBX hosting provider’s domain name as &#039;&#039;System Name&#039;&#039; (e.g. &amp;lt;code&amp;gt;hoster.tld&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; as &#039;&#039;PBX Name&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
The Frontend &lt;br /&gt;
&lt;br /&gt;
* accepts external registrations from customer CPE&lt;br /&gt;
* provides a central (virtual) CF-card storage for non-sensitive data (e.g. firmware files) &lt;br /&gt;
* supports mutliple customer PBXs.  The exact number is yet ffs., however, we estimate  no more than 135 currently.  Frontends will simply be numbered (&amp;lt;code&amp;gt;sbc1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sbc2&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
* The Frontend being a “dual homed” gateway, must be configured to have ETH0 (default interface) connected to the &#039;&#039;public network&#039;&#039; and ETH1 connected to the &#039;&#039;hoster network&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== NAT ====&lt;br /&gt;
* The Frontend will provide inbound NAT mappings for HTTPS and LDAPS.  This allows for controlled access to the IPVAs within the PBX hosting provider’s private network from external.  Each customer PBX uses its associated Frontend for NAT, that is, each Frontend provides NAT for all customers that have it associated as Frontend.  The number of customers per Frontend is limited by the number of NAT maps that can be created, which in turn depends on the length of the resulting config file line.  Currently, there is a limit of approximately 290 maps per Frontend.  2 distinctive maps are needed per customer &lt;br /&gt;
* Additionally,  some maps shared by all customers (e.g. for services like Metadir, FaxServer, Reporting) are required.  About 20 maps should be reserved for this&lt;br /&gt;
* So we end up with the aforementioned number of 135 customers per Frontend&lt;br /&gt;
* It is recommended to use a kind of syntax that allows the admin to deduce from the external port number the service type and the associated private IP. For example use 4-digit external ports, the first digit represents the service type(e.g.8 for HTTPS to the PBX, 9 for LDAPS to the PBX), the following 3 digits the associated IP-address(e.g. 007 for internal IP 10.0.0.7). In our example the external port 9007 would be mapped to the internal IP 10.0.0.7 port 636.&lt;br /&gt;
* since the Frontend is also used as NAT-router for UDP-messages(i.e. SIP signalling from the customer PBX to the SIP provider), an &#039;&#039;UDP-NAT port-range&#039;&#039;(IP4/General/Settings) must be configured. The size of the port-range should be at least as large as the number of customer PBXs served by the Frontend, each SIP Trunk requires one (external, public) port in the defined range. By default the UDP-NAT port-range is &#039;&#039;0&#039;&#039;, so no UDP NAT is possible. You must use a port range that does not conflict with other used ports on the Frontend (e.g. UDP-RTP Port-Range  by default 16384 / 32767).&lt;br /&gt;
&lt;br /&gt;
==== PBX ====&lt;br /&gt;
* &#039;&#039;System Name&#039;&#039; is the PBX hosting provider’s domain name (e.g. &amp;lt;code&amp;gt;hoster.tld&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;PBX Name&#039;&#039; is &amp;lt;code&amp;gt;sbc&amp;lt;/code&amp;gt;&#039;&#039;n&#039;&#039;&lt;br /&gt;
* &#039;&#039;Prefix for Intl/Ntl/Subscriber&#039;&#039; depending on Customers national numbering plan (e.g. for Germany and Trunk Prefix 0: &amp;lt;code&amp;gt;000, 00, 0&amp;lt;/code&amp;gt;)&lt;br /&gt;
* registers  as  &#039;&#039;Slave PBX&#039;&#039; with the central license server PBX (&#039;&#039;License Only&#039;&#039;)&lt;br /&gt;
* receives required licenses from the central license server thus &lt;br /&gt;
&lt;br /&gt;
===== Customer related Configuration =====&lt;br /&gt;
* One &#039;&#039;Session Border&#039;&#039; object  for each (potential) terminal registration to a customer PBX&lt;br /&gt;
* &#039;&#039;Long Name&#039;&#039; as well as &#039;&#039;Registration to internal PBX/Name&#039;&#039; set tot he &#039;&#039;CPE-ID&#039;&#039; (see below) &lt;br /&gt;
* &#039;&#039;Password&#039;&#039; set to the  &#039;&#039;customer registration password&#039;&#039;&lt;br /&gt;
* &#039;&#039;Registration from external/Name&#039;&#039; set to the CPE’s hardware-ID (NetBIOS name) &#039;&#039;PBX Password&#039;&#039; ticked&lt;br /&gt;
&lt;br /&gt;
See also [[#Configuration of customer related objects in the customer’s PBX and Frontend]]&lt;br /&gt;
&lt;br /&gt;
=====Alternate RAS port=====&lt;br /&gt;
End-customer phones register to the PBX using H.323.  Some CPE Routers (such as Linksys) are known to mess around with H.323 packets (namely RAS) may inhibit registration. To avoid this problem, the phones and Frontend should be configured to use an alternate port for RAS signalling. At the phone the RAS - port must be changed using the command &amp;lt;code&amp;gt;config add H323 /ras-port xxxx&amp;lt;/code&amp;gt; , the Frontend must be configured to listen for RAS packets also on an alternate port using the command &amp;lt;code&amp;gt; config add H323 /ras-port-alt xxxx&amp;lt;/code&amp;gt;.&lt;br /&gt;
The alternate RAS port configuration should be distributed to the phones in the staging section of the initial update-server configuration.&lt;br /&gt;
&lt;br /&gt;
In few cases, the NAT router will still detect RAS-messages sent via an alternate RAS port. The NAT router will therefore do its faulty H323-NAT-entries in the RAS messages. As a result, phones behind the NAT-router will not be able to register at the Frontend. &lt;br /&gt;
Assuming that you configured the usage of an alternate RAS port and double-checked that the entered password (at the phone and Frontend) is correct/matching, you can enable the logging of H323-Registrations(Maintenance/Diagnostics/Logging) and look for a &#039;&#039;REGISTER-REJ&#039;&#039; message having the additional information &#039;&#039;Reason=Authentication failed&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 REGISTER-REJ(200.205.64.202:9198),H323=IP200A-10-10-b4,Reason=Authentication failed&lt;br /&gt;
&lt;br /&gt;
Since the password is correct, the Reason=Authentication failed indicates that the NAT router is still doing H323-NAT. To solve this problem, H323-NAT must be turned off on the NAT-router located at the customer site.&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
Keep in mind that the frontend is exposed to any attack from the wild, deep space in internet.  As such, you should take utmost care of any security related settings (you may want to review the &#039;&#039;security&#039;&#039; lesson in your latest advanced training).  In particular, as you will never want to allow registrations w/o password on a frontend, make sure to set &#039;&#039;No of Regs w/o Pwd.&#039;&#039; to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (zero) in any frontend PBX configuration.&lt;br /&gt;
&lt;br /&gt;
=== Media-PBX  ===&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
* The media-PBX needs to have http access to the customer PBXs in order to play e.g. announcements or voice-mails.  This is why the HTTP client credentials for URLs &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt; via  &amp;lt;code&amp;gt;paccess@hoster.tld&amp;lt;/code&amp;gt; have to be set as explained above.&lt;br /&gt;
* The media-PBX must be configured to have ETH0 (default interface) connected to the &#039;&#039;public network&#039;&#039; and ETH1 connected to the &#039;&#039;hoster network&#039;&#039;. &lt;br /&gt;
==== PBX ====&lt;br /&gt;
* One PBX-type object per customer.  Both &#039;&#039;Name&#039;&#039; and &#039;&#039;Long Name&#039;&#039; set to the &#039;&#039;customer id&#039;&#039;, “Number”   set to &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;+&#039;&#039;uniq number out of customer id&#039;&#039;.&lt;br /&gt;
* One Gateway-type object  &amp;lt;code&amp;gt;HTTP-EXT&amp;lt;/code&amp;gt; with no number.  This takes registrations  from customer PBXs to for media data&lt;br /&gt;
* User-type object &amp;lt;code&amp;gt;MOH&amp;lt;/code&amp;gt; with number &amp;lt;code&amp;gt;###10&amp;lt;/code&amp;gt;. This is to register the MoH source&lt;br /&gt;
* User-type object &amp;lt;code&amp;gt;TONE&amp;lt;/code&amp;gt; with  number &amp;lt;code&amp;gt;###11&amp;lt;/code&amp;gt;. This is to register the &amp;lt;code&amp;gt;TONE&amp;lt;/code&amp;gt; interface. Make sure that you cut off the &amp;lt;code&amp;gt;###11&amp;lt;/code&amp;gt; in the route to the TONE interface.&lt;br /&gt;
* User-type object &amp;lt;code&amp;gt;HTTP-OUT&amp;lt;/code&amp;gt; with  number &amp;lt;code&amp;gt;###12&amp;lt;/code&amp;gt;. This is to register the media-PBX’s local &amp;lt;code&amp;gt;HTTP&amp;lt;/code&amp;gt; interface to offload media data such as WQ announcements and voicemail&lt;br /&gt;
&lt;br /&gt;
=== Customer PBX ===&lt;br /&gt;
Each customer has a unique &#039;&#039;customer-id&#039;&#039; which is used to derive various names and identifiers (see above).  It is derived from (part of) the customer’s name and a sequential number.  Something like e.g. &amp;lt;code&amp;gt;Kuenkel00001&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The customer PBX is located within the private part of the PBX hosting provider’s network.  Because of this, it cannot send media data to the CPE (which is the end customer’s private network).   Media has to be sent via the associated Media-PBX thus, as this is &#039;&#039;dual-homed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
:* the associated Frontend is used as &#039;&#039;Time Server&#039;&#039; &lt;br /&gt;
:* &#039;&#039;Unknown Registrations&#039;&#039; is turned on with &#039;&#039;With PBX Pwd only&#039;&#039;.  This is to enable ZCD (Zero Configuration Deployment) for CPE&lt;br /&gt;
:* &#039;&#039;System Name&#039;&#039; set to the customers email domain (even if it is &amp;lt;code&amp;gt;googlemail.com&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;yahoo.de&amp;lt;/code&amp;gt; as it does not need to be unique. Therefore it&#039;s necessary to set the customer PBX’ &#039;&#039;Master GK-ID&#039;&#039; property to the value of the media-PBX’ &#039;&#039;System Name&#039;&#039; property. &lt;br /&gt;
:* &#039;&#039;PBX Name&#039;&#039; set to the &#039;&#039;customer ID&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Handling of calls to MOH, TONE or HTTP-interface ====&lt;br /&gt;
As explained in the previous section, the customer PBX cannot send media data to the CPE but must use the respective resources on the associated Media-PBX. Calls to the Media-PBX are routed using GW-interfaces (i.e. Relay) on the customer PBX. Therefore the first step is to register a GW-interface (e.g. &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt;) to the &amp;lt;code&amp;gt;HTTP-EXT&amp;lt;/code&amp;gt; on the Media-PBX. &lt;br /&gt;
=====MOH=====&lt;br /&gt;
* Go to PBX/Config/General an enter as &amp;quot;External Music On Hold&amp;quot; the name of a non-exisiting object (e.g.&amp;lt;code&amp;gt;_customer_moh_&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Go to Gateway/GK an register a GW-interface (e.g. &amp;lt;code&amp;gt;GW2&amp;lt;/code&amp;gt;) to this non-exisiting object (e.g.&amp;lt;code&amp;gt;_customer_moh_&amp;lt;/code&amp;gt;). The registration will be accepted, in the PBX you will see a PBX-object called &amp;lt;code&amp;gt;_MOH_&amp;lt;/code&amp;gt;&lt;br /&gt;
* Assuming that you followed the examples before, &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt; would be the GW-interface registered at the Media-PBX. In the routing table (Gateway/Routes) configure a route from &amp;lt;code&amp;gt;GW2&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt; and prepend the number used for the MOH-object on the Media-PBX(e.g. &amp;lt;code&amp;gt;###10&amp;lt;/code&amp;gt;). The Route in our example would be &amp;lt;code&amp;gt;GW2 -&amp;gt; ###10 GW1&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you want to play a custom MOH, additionally enter the MOH-URL in the &amp;quot;Music On Hold URL&amp;quot; field(PBX/Config/General). The URL will be retrieved by the Media-PBX, as a result it must be retrievable by the Media-PBX (e.g. 127.0.0.1 in the URL will be the local-host address of the Media-PBX)&lt;br /&gt;
&lt;br /&gt;
=====TONE=====&lt;br /&gt;
* to use the TONE interface of the Media-PBX, route calls to the GW-interface registered at the Media-PBX and prepend the number used for the TONE-object on the Media-PBX(e.g. &amp;lt;code&amp;gt;###11&amp;lt;/code&amp;gt;).&lt;br /&gt;
* since the Media-PBX has only one TONE interface, it will generate the same TONE for all customer-PBX using it. If a customer-PBX needs a different TONE-interface, you have to create am additional Media-PBX.&lt;br /&gt;
&lt;br /&gt;
=====HTTP=====&lt;br /&gt;
* the HTTP - interface is needed when an HTTP-URL is retrieved an played as an announcement. The &amp;quot;Extern Name/No&amp;quot; field at the respective PBX-objects (e.g. WaitingQueue) is used to offload the playing of the announcement to the Media-PBX. &lt;br /&gt;
* at the customer PBX create a Gateway-type object &amp;lt;code&amp;gt;HTTP-IN&amp;lt;/code&amp;gt; with no number.  This takes registrations from a a GW-interface (e.g. &amp;lt;code&amp;gt;GW3&amp;lt;/code&amp;gt;) at the customer PBXs&lt;br /&gt;
* when configuring an announcement URL (e.g. at a WaitingQueue), enter as &amp;quot;Extern Name/No&amp;quot; &amp;lt;code&amp;gt;HTTP-IN&amp;lt;/code&amp;gt;. The URL will be retrieved by the Media-PBX, as a result it must be retrievable by the Media-PBX (e.g. 127.0.0.1 in the URL will be the local-host address of the Media-PBX)&lt;br /&gt;
* In the routing table (Gateway/Routes) configure a route from &amp;lt;code&amp;gt;GW3&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;GW1&amp;lt;/code&amp;gt; and prepend the number used for the MOH-object on the Media-PBX(e.g. &amp;lt;code&amp;gt;###12&amp;lt;/code&amp;gt;). The Route in our example would be &amp;lt;code&amp;gt;GW3 -&amp;gt; ###12 GW1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Global Objects in the Customer-PBX ==== &lt;br /&gt;
===== &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt; Template=====&lt;br /&gt;
* &#039;&#039;Config Template&#039;&#039;-type object with &#039;&#039;Name&#039;&#039; &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;Hide from LDAP&#039;&#039; und &#039;&#039;Critical&#039;&#039;&lt;br /&gt;
* &#039;&#039;Store Phone Config&#039;&#039;&lt;br /&gt;
* all check-marks ticked in the &#039;&#039;License&#039;&#039; tab&lt;br /&gt;
* the  &#039;&#039;Access&#039;&#039; column needs an entry for &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt;&#039;&#039;customer.tld&#039;&#039; (this is the &#039;&#039;System Name&#039;&#039; from the PBX configuration) with all check-marks ticked&lt;br /&gt;
* within the &#039;&#039;Config&#039;&#039; column, there is only a setting for LDAP Config (&#039;&#039;Directories&#039;&#039;) as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;phone&amp;gt;&lt;br /&gt;
  &amp;lt;loc cc=&#039;country-code&#039; ac=&#039;area-code&#039; ntp=&#039;0&#039; itp=&#039;00&#039; pbx=&#039;subscriber-number&#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;ldap id=&#039;2&#039; &lt;br /&gt;
    tls=&#039;1&#039; port=&#039;ldap-port-map-to-pbx-on-sbc, e.g. 9004&#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;ldap id=&#039;3&#039; &lt;br /&gt;
    enable=&#039;1&#039; tls=&#039;1&#039; mode=&#039;basic&#039; &lt;br /&gt;
    addr=&#039;sbc-ip-address&#039; port=&#039;ldap-port-map-to-metadir-on-sbc, e.g. 9007&#039; &lt;br /&gt;
    dn=&#039;PBX Name&#039; pw=&#039;??&#039; base=&#039;dc=PBX Name&#039; &lt;br /&gt;
    attr=&#039;sn,givenName,company&#039; phone=&#039;telephoneNumber:D,mobile:M,:@&#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/phone&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pw for ldap id 3 is critical: this allows everyone access to the customer directory data via LDAP.  If this is not acceptable, the password needs to be removed from the template and configured manually by the end customer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Configuration of customer related objects in the customer’s PBX and Frontend ====&lt;br /&gt;
From an administrative point of view, no configuration specific to the individual device should be necessary for registration of a CPE.  The default NetBIOS name (e.g. &amp;lt;code&amp;gt;IP232-01-02-03&amp;lt;/code&amp;gt;) is used as registration name thus.  This must be used as &#039;&#039;Registration from external&#039;&#039; in the corresponding SessionBorder object thus (for each potential CPE, there must be one SessionBorder object on the associated Frontend, see above). &lt;br /&gt;
The registration password used by the CPE and thus the &#039;&#039;Password&#039;&#039; in the SessionBorder object must be set to the &#039;&#039;customer registration password&#039;&#039; (which is specific to this customer, not to the CPE).&lt;br /&gt;
The &#039;&#039;Long Name&#039;&#039; as well as the  &#039;&#039;Name&#039;&#039; for &#039;&#039;Registration to internal PBX&#039;&#039; in the SessionBorder object (hence the registration name for the CPE set in the customer PBX’s user-type object) is a combination of the &#039;&#039;customer ID&#039;&#039; and a sequential &#039;&#039;customer CPE ID&#039;&#039;, e.g. . &amp;lt;code&amp;gt;Kuenkel00001-001&amp;lt;/code&amp;gt;.  The &#039;&#039;customer CPE ID&#039;&#039; starts with 0 for each customer.   This allows for more meaningful data when viewing traces from e.g. the Frontend.  Moreover, this scheme allows for nice filtering the object view on the PBX by customer name.   &lt;br /&gt;
The password to register the SessionBorder objects from the Frontend to the customer PBX is always the globally used &#039;&#039;PBX password&#039;&#039;.  Hence the &#039;&#039;PBX Password&#039;&#039; check-mark must be ticked in the &#039;&#039;Registration to internal PBX&#039;&#039; area of the SessionBorder object on the Frontend  and the &#039;&#039;PBX Pwd&#039;&#039; check-mark in the &#039;&#039;Devices&#039;&#039; area of the user object in the customer PBX.  Initially though, no &#039;&#039;Devices&#039;&#039; shall be present in the user object, as this allows ZCD for the CPE.&lt;br /&gt;
[[Image:SBC_registration.png]]&lt;br /&gt;
&lt;br /&gt;
=== Update Server ===&lt;br /&gt;
&lt;br /&gt;
Tasks:&lt;br /&gt;
* Staging (e.g. installation of suitable trust list for HTTPS)&lt;br /&gt;
* Firmware update &lt;br /&gt;
* Backup of configuration data for CPE and customer PBX&lt;br /&gt;
Backup of CPE data is done to the virtual CF card of the customer PBX.  Backup of customer PBX data is done to its Frontend. &lt;br /&gt;
There is no device or device-type specific update script.  &lt;br /&gt;
Structure on the customer PBX&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/DRIVE/CF0/&lt;br /&gt;
  update/&lt;br /&gt;
    backup/&lt;br /&gt;
      backup-mac-date.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The backup folder on the customer PBX (&amp;lt;code&amp;gt;/DRIVE/CF0/update/backup/&amp;lt;/code&amp;gt;) must be set writable but not readable under &#039;&#039;Services/HTTP/Public compact flash access&#039;&#039; so that CPEs can write their backup. &lt;br /&gt;
&lt;br /&gt;
Firmware files are stored on a folder of the associated Frontend.  Although this implies that they need to be duplicated to all Frontends, it simplifies the configuration and distributes load.&lt;br /&gt;
&lt;br /&gt;
The generic update scripts are stored in (&amp;lt;code&amp;gt;/DRIVE/CF0/update&amp;lt;/code&amp;gt;) on the Frontend.  &amp;lt;code&amp;gt;staging.txt&amp;lt;/code&amp;gt; is the CPE staging code, &amp;lt;code&amp;gt;update.txt&amp;lt;/code&amp;gt; the regular update script.   Both scripts make extensive use of [[Reference10:Concept_Update_Server#Setvar_command| update variables]]. &lt;br /&gt;
 &lt;br /&gt;
Staging proceeds in 3 steps: &lt;br /&gt;
* CPE is configured to use the generic hosting staging interface (http://config.innovaphone.com/init) as &#039;&#039;Update-URL&#039;&#039;&lt;br /&gt;
: This is a publicly available web service, (this service is currently experimental!) relates a requesting device to the hosting provider and customer pbx based on the serial number.  If the device can be identified, the update server URL is rewritten to the PBX hosting provider’s appropriate Frontend (based on data that is defined in my.innovaphone). For more information, see [[Reference10:Concept Provisioning].&lt;br /&gt;
* CPE executes the Frontend-wide staging script (&amp;lt;code&amp;gt;staging.txt&amp;lt;/code&amp;gt;). This performs some init-only tasks&lt;br /&gt;
* CPE executes the Frontend-wide update script (&amp;lt;code&amp;gt;update.txt&amp;lt;/code&amp;gt;). This performs  day-to-day tasks (such as backup)&lt;br /&gt;
&lt;br /&gt;
File structure on Frontend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/DRIVE/CF0/&lt;br /&gt;
    update/&lt;br /&gt;
      staging.txt           - staging script&lt;br /&gt;
      update.txt            - regular update script &lt;br /&gt;
      global.txt            - overrides for global settings&lt;br /&gt;
      local.txt             - overrides for Frontend-local settings &lt;br /&gt;
      set-customerid.txt    - overrides für customer specific settings&lt;br /&gt;
      staging/              - special staging scripts &lt;br /&gt;
        global.txt            - overrides for global settings&lt;br /&gt;
        local.txt             - overrides for Frontend-local settings&lt;br /&gt;
        set-customerid.txt    - overrides für customer specific settings&lt;br /&gt;
        dev-IPxxx.txt         - device type specific settings &lt;br /&gt;
        cfg-phone.txt         - device class specific settings &lt;br /&gt;
        cfg-gateway.txt       - ditto&lt;br /&gt;
      firm/                 - firmware&lt;br /&gt;
        nnnnnn/&lt;br /&gt;
          bootxxx.bin&lt;br /&gt;
          ipxxx.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to be accessible during firmware updates, the drive (&amp;lt;code&amp;gt;/DRIVE/CF0/update/firm/&amp;lt;/code&amp;gt;) must have read (and only read) access on the Frontend under &#039;&#039;Services/HTTP/Public compact flash access&#039;&#039;.  In order to be accessible from the devices, drive &amp;lt;code&amp;gt;/DRIVE/CF0/update&amp;lt;/code&amp;gt;) needs to be readable (and only readable).  Both can be achieved with a single &amp;lt;code&amp;gt;/DRIVE/CF0/update/&amp;lt;/code&amp;gt; entry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assigning the initial update URL (&amp;lt;code&amp;gt; http://145.253.157.5/redirect.php &amp;lt;/code&amp;gt;) to CPE is for further study.    It can be done as usual (DHCP), but this requires co-operation by the end-customer which may be a problem.  Of course it can also be pre-configured by the hosting provider. In the latter case, the URL must be configured to the device after any long reset (factory settings). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Update Script Security  =====&lt;br /&gt;
Update scripts may include registration password (although encrypted) to facilitate automatic registration with almost no user intervention (cf.  set-&#039;&#039;customerid&#039;&#039;.txt above).  By definition, staging scripts are readable by everyone (as they are used to configure otherwise unconfigured devices, so no kwowledge of credentials can be assumed). There is no easy way around this.   One option would be to define a password for the web site hosting the scripts.  This would then imply that the password needs to be configured to the CPE, which is undesirable from an administrative point-of-view.    Moreover, with innovaphone gear (that is, when a web server internal to an innovaphone device is used), the only way to secure the scripts with a password would imply to use an admin account and password – clearly unacceptable from a security point-of-view. &lt;br /&gt;
&lt;br /&gt;
To secure the update scripts, a mechanism based on innivaphone&#039;s device certificates must be employed.  See [[Reference10:Concept Provisioning]] for more details. &lt;br /&gt;
&lt;br /&gt;
==== Deployment  ====&lt;br /&gt;
===== Initial =====&lt;br /&gt;
Create once-only services&lt;br /&gt;
* Kerberos and Kerberos Backup&lt;br /&gt;
* Create a new account for the PBX hosting provider in my.innovaphone (if the generic staging is to be used, see above)&lt;br /&gt;
&lt;br /&gt;
===== Shared Services =====&lt;br /&gt;
Create services shared by a set of customers: &lt;br /&gt;
* Frontend&lt;br /&gt;
* Media-PBX&lt;br /&gt;
* Metadir &lt;br /&gt;
* Reporting LinuxAP&lt;br /&gt;
* Fax Linux-AP&lt;br /&gt;
* copy update/staging scripts (global.txt, cfg-*.txt, dev-*.txt)  tot he Frontend drives (those are identical on all Frontends)&lt;br /&gt;
* create appropriate local.txt on Frontend&lt;br /&gt;
&lt;br /&gt;
===== New Customer =====&lt;br /&gt;
* create IPVA with customer PBX&lt;br /&gt;
* create appropriate &amp;lt;code&amp;gt;set-&amp;lt;/code&amp;gt;&#039;&#039;customer-ID&#039;&#039;&amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; on Frontend&lt;br /&gt;
* create appropriate user objects on customer PBX as well as corresponding SessionBorder objects on Frontend&lt;br /&gt;
* create project for customer in my.innovaphone, set &#039;&#039;URL&#039;&#039; to the PBX hosting provider’s &amp;lt;code&amp;gt;staging.txt&amp;lt;/code&amp;gt; on the appropriate Frontend (e.g. https://212.124.38.120/DRIVE/CF0/update/staging.txt) and the encoded public key of the hosting providers RootCA as  &#039;&#039;Trust&#039;&#039; (as taken from a config file)&lt;br /&gt;
&lt;br /&gt;
===== CPE =====&lt;br /&gt;
* Add device tot he customer project in my.innovaphone&lt;br /&gt;
* factory reset (optional, of course)&lt;br /&gt;
* set &amp;lt;code&amp;gt;http://145.253.157.4/redirect.php&amp;lt;/code&amp;gt; as &#039;&#039;Command File URL&#039;&#039; in &#039;&#039;Services/Upate&#039;&#039; &lt;br /&gt;
* wait for or force poll &lt;br /&gt;
* CPE registers with the Frontend and customer PBX as &amp;lt;code&amp;gt;_UNKNOWN_&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== On-Site (Customer) Support / Debugging ===&lt;br /&gt;
==== Alarms and Events ====&lt;br /&gt;
* Alarms, events should be saved centrally on the Frontend, this way the admin has a full picture of all events and syslog in a Frontend-cluster. The CPE devices are configured by the staging script to send their events/alarms via HTTPS to the Frontend server. &lt;br /&gt;
** incoming Alarms/Events should be authenticated by the Frontend server, the CPEs must be configured (during staging) with the appropriate HTTP-client credentials. The account used for the HTTP-login must be configured with &#039;&#039;Viewer&#039;&#039; rights on the Kerberos - server.&lt;br /&gt;
** the received Alarms/Events can be further forwarded by the Frontend server to a Syslog-server. The received events can be then written in a database/text-file and used for further evaluation. &lt;br /&gt;
** the local event and alarm list is always kept in local Flash memory. The number of entries to keep can be configured in the Services/Logging tab. Since your Frontend-Server should not generate a large amount of events/alarms, you can use the default values(last 50 local events are stored in Flash memory).&lt;br /&gt;
==== Syslog ====&lt;br /&gt;
* the CPEs should not create logs, all relevant information(i.e. state of user-registrations) is retrieved from the Event/Alarm-list&lt;br /&gt;
* IPVAs(e.g. customer PBX) should generate logs and store them locally on their CF-card&lt;br /&gt;
** the recommended Syslog settings are &#039;&#039;PBX calls&#039;&#039; and &#039;&#039;Gateway calls&#039;&#039;&lt;br /&gt;
** depending on the amount of generated logs (i.e. the size of your Customer PBX), the [[Reference9:Services/Logging | Max File Size]] should be set accordingly. You should capture at least 4 days of log information(e.g. allowing to inspect log information created before a weekend)&lt;br /&gt;
* if its required that CPE devices generate logs, it will be necessary to store the log-information on a central server(e.g. Frontend server). However incoming Logs cannot be authenticated by the Frontend server, since this function is not implemented in the innovaphone LOG-server. If incoming Logs should be authenticated, a Linux-AP should be used as central Log-server (the Linux-AP offers the possibility to authenticate incoming logs)&lt;br /&gt;
==== Config backup ====&lt;br /&gt;
* Phone configuration is backed up to the customer PBX CF, using the Update Server mechanism.&lt;br /&gt;
* the configuration of devices in the Hoster-network( e.g. Media-PBX, etc.) are saved on the CF-card of the Frontend-server&lt;br /&gt;
&lt;br /&gt;
====Accessing the web-interfaces of devices====&lt;br /&gt;
* All devices (including CPE) have joined the Kerberos domain. As a result, all administrators are able to log in (provided they have access to the customers network, TeamViewer is an option)&lt;br /&gt;
&lt;br /&gt;
=== Reporting (Multiple PBX) ===&lt;br /&gt;
&lt;br /&gt;
 NEEDS TO BE UPDATED (TLE)&lt;br /&gt;
&lt;br /&gt;
The LinuxAP VM for reporting needs to have quite a large CF to be able to store all CDR data for a reasonable time period. &lt;br /&gt;
&lt;br /&gt;
* VMWare disk size should be 50GB initially.  This is based on a rough estimate of 200 customers and a time frame of 1 year&lt;br /&gt;
: rough estimate.  Time will tell&lt;br /&gt;
* RAM 1GB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Naming Conventions ====&lt;br /&gt;
&lt;br /&gt;
To grant access for customers (and reseller) to the Reporting login page (https://Reporting-IP-Adress/apps/innovaphone-reporting/user/login.php), it&#039;s nessesary to create a cdr filter called &amp;quot;base filter&amp;quot; and a user login which is bound to this base filter.&lt;br /&gt;
These logins and filters can only be edited and created by the hoster (i.e. cloudkom).&lt;br /&gt;
Since the customer can&#039;t change his credentials we use the &amp;quot;customer ID&amp;quot; and the &amp;quot;customer registration password&amp;quot; for further steps. &lt;br /&gt;
&lt;br /&gt;
As we mentioned in chapter [[#Customer_PBX|Customer PBX]] each customer needs a uniqe PBX name, but different customers may share the same &amp;quot;System Name&amp;quot;.&lt;br /&gt;
For this reason it&#039;s nessasary to set the Grouping-ID in the Reporting application to &#039;&#039;PBX Name&#039;&#039; (as set in &#039;&#039;Config/PBX&#039;&#039;).&lt;br /&gt;
Never change this setup because filters are depending on the Grouping ID!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter parameters for customers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Base Filter: &amp;lt;leave it empty&amp;gt;&lt;br /&gt;
* Filter Name: &#039;&#039;customer ID&#039;&#039; (which is the &#039;&#039;PBX Name&#039;&#039;,  i.e &amp;lt;code&amp;gt;Kuenkel00001&amp;lt;/code&amp;gt;)&lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; (which is the &#039;&#039;PBX Name&#039;&#039;,  i.e &amp;lt;code&amp;gt;Kuenkel00001&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User configuration for customers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Name:  &amp;lt;customer ID&amp;gt;&lt;br /&gt;
* Password: &#039;&#039;customer registration password&#039;&#039;&lt;br /&gt;
* Base Filter(s): &#039;&#039;customer filter name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For reasons of billing (or whatever) it could be fine for resellers to have a filter for all of -his- sold PBXs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible filter parameters for reseller:&#039;&#039;&#039;&lt;br /&gt;
(in fact, the reseller id is a customer id, because the only difference is the filter content)&lt;br /&gt;
&lt;br /&gt;
* Base Filter: &amp;lt;leave it empty&amp;gt;&lt;br /&gt;
* Filter Name: &#039;&#039;reseller ID&#039;&#039; (i.e. innovaphone00001) &lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; +&lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; +&lt;br /&gt;
* PBX Name: &#039;&#039;customer ID&#039;&#039; ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User configuration for reseller:&#039;&#039;&#039;&lt;br /&gt;
* Name:  &#039;&#039;reseller ID&#039;&#039;&lt;br /&gt;
* Password: &#039;&#039;reseller registration password&#039;&#039;&lt;br /&gt;
* Base Filter(s): &#039;&#039;reseller filter name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Konfiguration Reporting ====&lt;br /&gt;
* Grouping ID: PBX-Name&lt;br /&gt;
* Create filter and user logins for the customer&lt;br /&gt;
* LDAP?&lt;br /&gt;
* Report Mails?&lt;br /&gt;
&lt;br /&gt;
====Konfiguration Kunden-PBX ====&lt;br /&gt;
===== Gateway / CDR0 =====&lt;br /&gt;
* &#039;&#039;Type&#039;&#039; &amp;lt;code&amp;gt;Remote-AP-S&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;Address&#039;&#039; &#039;&#039;Reporting Linux-AP IP address&#039;&#039;&lt;br /&gt;
* &#039;&#039;Port&#039;&#039; &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;&lt;br /&gt;
===== PBX / myPBX / Call List Service =====&lt;br /&gt;
* &#039;&#039;Type&#039;&#039; &amp;lt;code&amp;gt;Remote-AP&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;Host&#039;&#039; &#039;&#039;Frontend-IP-addr:HTTPS-Portmap-on-Frontend-to-Reporting-App&#039;&#039;&lt;br /&gt;
* &#039;&#039;User&#039;&#039; &amp;lt;code&amp;gt;innovaphone-reporting&amp;lt;/code&amp;gt; ?????&lt;br /&gt;
* &#039;&#039;pass&#039;&#039; &amp;lt;code&amp;gt;reporting&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In contrast to the CDR0 interface, the Call-List-Service doesn&#039;t offer the possibility to choose the &#039;&#039;Type&#039;&#039; &amp;lt;code&amp;gt;Remote-AP-S&amp;lt;/code&amp;gt;. The myPBX client decides which protocol to use (HTTP or HTTPS) depending on the URL (http or https)used to connect to the PBX. So if myPBX uses HTTPS to connect to the PBX, it will use also HTTPS to connect to the Reporting-App.&lt;br /&gt;
&lt;br /&gt;
=== Fax Server ===&lt;br /&gt;
&lt;br /&gt;
 NEEDS TO BE UPDATED (afI)&lt;br /&gt;
&lt;br /&gt;
A LinuxAP VMware disk size of 50GB should be sufficient. Configure the size of the virtual drive before starting the Linux installation for the first time.&lt;br /&gt;
&lt;br /&gt;
Since the FAX-Interface must be reachable from the public network, it must be offloaded from the Customer VM to the Media Gateway. The SOAP connection from the Faxserver application will be still directed to the Customer VM/PBX.&lt;br /&gt;
&lt;br /&gt;
[[Image:Routing_fax.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the customer VM we have to configure a Gateway Object and routes to and from GWxx which is registered on the Media Relay instance. We reuse HTTP-EXT registration at this point to send Fax calls to Media.&lt;br /&gt;
====Customer PBX Settings for Faxserver====&lt;br /&gt;
** Gateway Object Name= &amp;lt;code&amp;gt;Fax&amp;lt;/code&amp;gt;, Number= &amp;lt;code&amp;gt;some prefix number used for Fax extensions&amp;lt;/code&amp;gt;, Option &amp;quot;Prefix&amp;quot; activated&lt;br /&gt;
** add the Gateway Object to the SOAP/TAPI group, in order it is visible for SOAP applications connecting to this PBX&lt;br /&gt;
** Prepare User Objects for Fax usage:&lt;br /&gt;
*** Fax License must be assigned&lt;br /&gt;
*** E-Mail must be configured and must match the sender address&lt;br /&gt;
&lt;br /&gt;
====Customer Gateway Settings for Faxserver====&lt;br /&gt;
** Fax GWxx, Register as Gateway, 127.0.0.1, Name= &amp;lt;code&amp;gt;Fax&amp;lt;/code&amp;gt;&lt;br /&gt;
** Route GWxx (Fax) --&amp;gt; ###13 GWyy (HTTP-EXT)&lt;br /&gt;
** Route GWyy (HTTP-EXT) --&amp;gt; GWxx (Fax)&lt;br /&gt;
&lt;br /&gt;
For multiple customer PBXes we define a single Gateway with FAX Interface:&lt;br /&gt;
&lt;br /&gt;
====Media PBX====&lt;br /&gt;
** Gateway Object Name= &amp;lt;code&amp;gt;fax&amp;lt;/code&amp;gt;, Number= &amp;lt;code&amp;gt;###13&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Media Gateway====&lt;br /&gt;
** Interface FAX, Internal Registration, 127.0.0.1, Name= &amp;lt;code&amp;gt;fax&amp;lt;/code&amp;gt;, Coder G711,20 , &amp;quot;Enable T.38&amp;quot;&lt;br /&gt;
** HTTP-Client must be configured to use [[Howto:Hosting#Kerberos_User|credentials for programmatic access]] to be able to read and write to WebDAV Server on LinuxAP with Faxserver application.&lt;br /&gt;
&lt;br /&gt;
====Faxserver Instance====&lt;br /&gt;
&lt;br /&gt;
For each Customer VM an own Faxserver instance on the LinuxAP must be configured (one LinuxAP, multiple Faxserver instances for every Customer).&lt;br /&gt;
&lt;br /&gt;
** SOAP connection must be configured to point at the PBX running on the Customer VM&lt;br /&gt;
** E-Mail Account configuration is important to be able to deliver E-Mails to the Faxserver via SMTP&lt;br /&gt;
*** The E-Mail account, configured at the Faxserver instance, will be used at teh Customers Mailserver to authenticate against the Mailserver on Faxserver&lt;br /&gt;
&lt;br /&gt;
==== Mail to Fax Gateway ====&lt;br /&gt;
Für Kunden, auf deren POP3 Server aus Cloudkom Netz nicht zugegriffen werden kann, wird ein SMTP Server auf Basis von IP-AP aufgestellt. Dort können die Kunden dann per E-Mail die Faxe anliefern. (&amp;lt;mantis-issue id=89710/&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Use Case &amp;quot;Fax verschicken&amp;quot;:&lt;br /&gt;
*Kunde schickt aus dem E-Mail Programm ein Mail mit PDF-Anhang an z.B. &amp;lt;code&amp;gt;+497031730099@fax.cloudkom.com&amp;lt;/code&amp;gt;&lt;br /&gt;
*Rufnummer für Zielfax muss im User Part der To: Mailadresse stehen (im Beispiel ist es +497031730099)&lt;br /&gt;
*Das passende Postfach für Fax Server des jeweiligen Kunden wird anhand der From: Mailadresse bestimmt.&lt;br /&gt;
&lt;br /&gt;
Damit die From: Adresse nicht gefaked werden kann, werden nur authentifizierte SMTP-Verbindungen zugelassen. Der Kunde muss dazu bei sich im Exchange einen &amp;quot;SMTP Send Connector&amp;quot; für die Domäne fax.cloudkom.com einrichten ([http://msexchangefaq.de/connector/sendconnector.htm]) mit Basic Auth over TLS.&lt;br /&gt;
&lt;br /&gt;
Als SMTP-Server kann man ein Postfix mit Postgresql Erweiterung nehmen, damit man die Kunden Daten (Domains, Postfächer, Logins) direkt aus der Fax Server Datenbank lesen kann.&lt;br /&gt;
&lt;br /&gt;
Als POP3-Server (damit Fax Server die Mails lesen kann) wird dann Dovecot eingesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Implementierung: [http://wiki-intern.innovaphone.com/index.php?title=E-Mail_Fax_Server_Gateway_(Project_Cloudkom) E-Mail_Fax_Server_Gateway_(Project_Cloudkom)].&lt;br /&gt;
&lt;br /&gt;
=== Directories ===&lt;br /&gt;
There are 2 services provided to customers:&lt;br /&gt;
# the PBX directory&lt;br /&gt;
# an optional company-wide directory (external LDAP)&lt;br /&gt;
==== PBX Directory (extensions) ====&lt;br /&gt;
* one NAT port map is to be created per customer on the Frontend for port LDAPS (TCP source port xxx to target Port 636)&lt;br /&gt;
:This port can be used in the phone’s  &#039;&#039;Port&#039;&#039;  field in the &#039;&#039;PBX&#039;&#039; area in &#039;&#039;Phone/User/Directories/PBX&#039;&#039;.  The PBX LDAP server’s IP address is implied from the registration data.  This way, the  CPE will in fact access the customer PBX’s LDAP server as opposed to the Frontend’s one&lt;br /&gt;
* LDAPS can be used safely, as the CPE’s LDAP client does not verify the certificate anyway (although it would be trusted as it is derived from the PBX hosting provider’s RootCA)&lt;br /&gt;
&lt;br /&gt;
====External Directory ====&lt;br /&gt;
=====Estos Metadir=====&lt;br /&gt;
*there is one Metadir server per Frontend which serves all customers associated with this Frontend.  Hence there is one inbound NAT port map that maps one port to the Metadir server’s LDAPS port.  This map is used from all customers.  Customer specific directories are implemented as logical views in the Metadir LDAP server, not as separate servers &lt;br /&gt;
*there is thus one distinct LDAP node (dc=&#039;&#039;customer-ID&#039;&#039;) per customer &lt;br /&gt;
* there is also one distinct replicator for each customer (which is used to import the customers directory data in to the Metadir)&lt;br /&gt;
**Replicator&lt;br /&gt;
*** The customer would provide its contact database as „comma separated CSV (Windows)“ file (e.g. as exported from Outlook)&lt;br /&gt;
*** The file must have the columns &#039;&#039;&amp;quot;Surname&amp;quot;,&amp;quot;Firstname&amp;quot;,&amp;quot;Company&amp;quot;,&amp;quot;Busines Phone &amp;quot;,&amp;quot;Mobile Phone&amp;quot;&#039;&#039;&lt;br /&gt;
*** All numbers must be in E164 format, e.g. +49703173009123&lt;br /&gt;
*** File name is &amp;lt;code&amp;gt;contacts.csv&amp;lt;/code&amp;gt; &lt;br /&gt;
*** The file is uploaded to the Frontend’s CF-file system&lt;br /&gt;
*** Each customer has its own directory (&amp;lt;code&amp;gt;https://212.124.38.120/DRIVE/CF0/directory/&amp;lt;/code&amp;gt;&#039;&#039;customer-ID&#039;&#039;) on the Frontend.  This is the place &amp;lt;code&amp;gt;contacts.csv&amp;lt;/code&amp;gt; has to be uploaded to. For this to work, the path must be set to write-only on the Frontend!&lt;br /&gt;
*** Customers can use e.g. [http://curl.haxx.se/dlwiz/?type=bin&amp;amp;os=Win32&amp;amp;flav=-&amp;amp;ver=2000%2FXP curl].  Syntax: &amp;lt;code&amp;gt;curl --verbose -k https://212.124.38.120/DRIVE/CF0/directory/customer-ID/ -T contacts.csv&amp;lt;/code&amp;gt;. Note that standard WebDAV clients will probably not work due to the fact that this directory is write-only.&lt;br /&gt;
&lt;br /&gt;
Structure on Frontend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/DRIVE/CF0/&lt;br /&gt;
    directory/                  - write-only w/o authentication&lt;br /&gt;
      customer-ID/           &lt;br /&gt;
        contacts.csv            &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Metadir has a duplicate of the Frontend’s directory structure&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    C:\directory\&lt;br /&gt;
      script.bat                - script that retrieves customer directory data &amp;lt;code&amp;gt;contacts.csv&amp;lt;/code&amp;gt;  from the Frontend, called by replicator&lt;br /&gt;
      contacts.csv              - sample &lt;br /&gt;
      customer-ID\           &lt;br /&gt;
        contacts.csv           - customer data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Metadir’s per-customer replicator imports the local contacts.csv when run.  Before doing so, it calls script.bat which retrieves the appropriate contacts.csv from the SB (this behaviour needs to be configured in Metadir, &#039;&#039;Database Wizard&#039;&#039;, &#039;&#039; Zusätzliche Anwendungen(additional applications)&#039;&#039;).&lt;br /&gt;
: script.bat copies the then-current customer’s contact.csv from the Frontend using curl (curl - syntax: &amp;lt;code&amp;gt;curl --verbose -k -u user:password https://10.30.255.0/DRIVE/CF0/directory/%1/contacts.csv -o c:\directory\%1\contacts.csv&amp;lt;/code&amp;gt;&lt;br /&gt;
:  user:password in script.bat are administrator credentials valid on the Frontend (as contact.csv files are read-only, see above)&lt;br /&gt;
* Each replicator will be run every 3 hours &lt;br /&gt;
: The replicator can also be triggered from the cmd-line (calling e.g. &amp;lt;code&amp;gt;TextReplicator.exe &amp;lt;/code&amp;gt; as found in the Metadir installation directory. Start a replicator from the GUI and have a look at lastreplicator.bat in the install directory).   This may be useful if the PBX hosting provider has implemented a user portal to upload the contact data.  &lt;br /&gt;
* The replicator is created using the &#039;&#039;Replicator-Wizard&#039;&#039; and associates the .csv columns to the respective LDAP attributes/DB field names. A combination of all attributes is used as primary key&lt;br /&gt;
: [[Media:Cloudkom-Metadir-Replikator.png | Replicator Overview]]&lt;br /&gt;
*LDAP-nodes:&lt;br /&gt;
** LDAP node access authentication is based on distinct, per-customer users, username (=&#039;&#039;customer ID&#039;&#039;), password(=&#039;&#039;customer registration password&#039;&#039;). No IP address restriction is used.&lt;br /&gt;
** profile is &#039;&#039;Default&#039;&#039; always, no customer specific profile is required (this is handled using the phone’s &#039;&#039;Dialing Location&#039;&#039;)&lt;br /&gt;
** [[Media:metadir-LDAP-Knoten-config.png | Settings]] can be seen  in the screenshot &lt;br /&gt;
Here is how to export contact data from Outlook 2010:&lt;br /&gt;
** as far as we know it is only possible to export your own contact list. In case that all users use a global contact list, this list has to be copied first into your own contact entry list.(select [Global List](e.g. IP Kontakte) -&amp;gt; right click  -&amp;gt; copy -&amp;gt; choose own contacts)&lt;br /&gt;
** From  Outlook &#039;&#039;File -&amp;gt; Open -&amp;gt; Import -&amp;gt; Export to file -&amp;gt; comma separated values (Windows) -&amp;gt; (select contact folder) -&amp;gt; &amp;quot;Map custom fields&amp;quot;(german: Benutzerdefinierte Felder zuordnen) -&amp;gt; choose &amp;quot;Surname&amp;quot;,&amp;quot;Firstname&amp;quot;,&amp;quot;Company&amp;quot;,&amp;quot;Busines Phone&amp;quot;,&amp;quot;Mobile Phone&amp;quot;-&amp;gt; Finish&#039;&#039;&lt;br /&gt;
*LDAPS&lt;br /&gt;
** Just any certificate will do on the Metadir, as the LDAP client does not validate the certificate &lt;br /&gt;
** Metadir uses port 714 for LDAPS, Frontend needs an appropriate NAT Map&lt;br /&gt;
=====LDAP-Client=====&lt;br /&gt;
* directory settings should be set in a PBX &#039;&#039;Config template&#039;&#039;-type object in the customer PBX and applied to all user objects there &lt;br /&gt;
: [[Media: Cloudkom-Metadir-Ldapclient.png | Phone/User/Directories/External LDAP Server Settings]]&lt;br /&gt;
: &#039;&#039;Dialing Location&#039;&#039; settings need to be done according to the customers trunk line settings&lt;br /&gt;
=====myPBX=====&lt;br /&gt;
* external directory lookups for myPBX are done by the PBX rather than by the myPBX client itself. The directory configuration is taken from the users phone configuration (as stored in the PBX). This of course presents a problem as the phone configuration will use the external Frontend NAT map data for the Metadir, whereas the PBX itself – sitting in the PBX hosting providers private network – needs to use Metadirs private address. There is a special configuration parameter for the PBX which sets the LDAP configuration used for any directory lookup performed for myPBX:&lt;br /&gt;
: &amp;lt;code&amp;gt;config add PBX0 /ldap-default-addr local-ip-addr-of-metadir /ldap-default-port 714&amp;lt;/code&amp;gt; (714 is Metadirs LDAPS port)&lt;br /&gt;
&lt;br /&gt;
=== Voicemail ===&lt;br /&gt;
Voicemail is run on the customers PBX as usual.  However, as discussed before, the Webmedia (a.k.a &amp;lt;code&amp;gt;HTTP&amp;lt;/code&amp;gt;) interface on the media PBX must be used.  VM xml script and recorded voice mail files are stored on the customer PBX’s CF card as usual though.  The trick is to have a registration to the customer PBX’s voice mail object.  If this is present, voice mail will use this registrations to terminate media data rather than the local Webmedia (which is the default).&lt;br /&gt;
&lt;br /&gt;
The registration on the local VM object needs to connect calls to the remote HTTP interface on the media PBX.  This is implemented using a GWx interface in the customer PBX’s gateway level which registers to the VM object.  There is a route from this GWx to the GWy which in turn registers with the media PBXs &amp;lt;code&amp;gt;HTTP-EXT&amp;lt;/code&amp;gt; object (there are no calls to the VM object ever).&lt;br /&gt;
&lt;br /&gt;
==== PBX ====&lt;br /&gt;
* voicemail-object&lt;br /&gt;
** Hardware-ID = &amp;lt;code&amp;gt;vmrelay&amp;lt;/code&amp;gt;&lt;br /&gt;
** Script-URL (installed on local CF Card as usual) = &amp;lt;code&amp;gt;https://customer-PBX-IP-address (not 127.0.0.1!)/DRIVE/CF0/vm-de/vm.xml?$_divconn=false&amp;lt;/code&amp;gt; (this URL will be evaluated on the media PBX, this is why 127.0.0.1 will not work!)&lt;br /&gt;
** suitable extension depending on customers numbering plan&lt;br /&gt;
&lt;br /&gt;
==== Gateway ====&lt;br /&gt;
** vmrelay GWxx, Register as Gateway, 127.0.0.1, Name= &amp;lt;code&amp;gt;vmrelay&amp;lt;/code&amp;gt;&lt;br /&gt;
** Route GWxx (vmrelay) --&amp;gt; ###12 GWyy (HTTP-EXT)&lt;br /&gt;
&lt;br /&gt;
==== MWI ====&lt;br /&gt;
Simpkly works as is.&lt;br /&gt;
&lt;br /&gt;
==== Mail MWI ====&lt;br /&gt;
Mails are sent through the PBX hosting provider’s own mail server. This may require authenticated SMTP.  This needs to be configured in each &amp;lt;code&amp;gt;email.xml&amp;lt;/code&amp;gt; in the customer PBX’s voice mail installation:&lt;br /&gt;
&lt;br /&gt;
* message sender&lt;br /&gt;
* Subject of MWI mail&lt;br /&gt;
* mail server&lt;br /&gt;
* credentials&lt;br /&gt;
&lt;br /&gt;
Apart from the mail subject (which is language dependant), this is identical for all customers, so it can be done once and copied then. &lt;br /&gt;
&lt;br /&gt;
User Email addresses must currently be set in each user object’s &#039;&#039;URL&#039;&#039; attribute (or in a separate file in the user directory).&lt;br /&gt;
&lt;br /&gt;
=== Operator ===&lt;br /&gt;
&lt;br /&gt;
 to be updated &lt;br /&gt;
&lt;br /&gt;
innovaphone Operator v10 can be installed in local client location and connects directly to client IPVA using HTTP-SOAP connection using the same Port used for HTTP management defined on the SBC.&lt;br /&gt;
&lt;br /&gt;
All SOAP communication goes through this HTTP connection so all features will be available and working properly. The LDAP configuration of the Operator v10 is similar to the one performed in the IP Phones.&lt;br /&gt;
&lt;br /&gt;
=== Mobility ===&lt;br /&gt;
&lt;br /&gt;
Mobility needs access to DTMF tones and thus to the RTP media stream.  As the customer-PBX has no public IP address, again, the media for all mobility calls must be routed through the media-PBX linked to the customer PBX.&lt;br /&gt;
&lt;br /&gt;
In the media-PBX, we need a &#039;&#039;media-relay-loop&#039;&#039; gateway-type object (no &#039;&#039;Prefix&#039;&#039; check-mark ticked) with a gateway GWx interface registered to it.  On the media&#039;s gateway level, there is a route that routes calls to this interface directly back to that interface.  This GWx interface used must have the &#039;&#039;Media-Relay&#039;&#039; check-mark ticked.  Calls to the media-PBX&#039;s &#039;&#039;media-relay-loop&#039;&#039; object are thus echoed straight back to the PBX.  However, the media-stream will be terminated on the media, so that it is available from the media&#039;s public IP address.  &lt;br /&gt;
&lt;br /&gt;
On the customer-PBX, a gateway-type object is created that sends calls to the media&#039;s &#039;&#039;media-relay-loop&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For incoming mobility calls to work, they must be recognized within the gateway level (that is, the mobility object&#039;s extension must be known) and routed through the aforementioned media-loop before it ends up in the client-PBX&#039;s mobility object.&lt;br /&gt;
&lt;br /&gt;
For outgoing calls, the fork destination must be set such that the outgoing mobility calls are first sent through the media&#039;s &#039;&#039;media-relay-loop&#039;&#039; before they end up in the client PBX&#039;s trunk.&lt;br /&gt;
&lt;br /&gt;
=== DECT ===&lt;br /&gt;
&lt;br /&gt;
 to be updated&lt;br /&gt;
&lt;br /&gt;
=== Backup ===&lt;br /&gt;
&#039;&#039;Disaster recovery&#039;&#039; backup ist o be done by the operator of the VMware infrastructure. &lt;br /&gt;
&lt;br /&gt;
User data (PBX config, CPE configuration) is backed up by the update server as outlined above. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UI/Portal ===&lt;br /&gt;
Innovaphone does not supply a dedicated UI for hosting scenarios (neither for the PBX hosting provider nor for the end customer).   It is envisaged that hosting providers will craft their own tool for this, as this is highly related to the provider’s business model.&lt;br /&gt;
&lt;br /&gt;
===Special scenarios===&lt;br /&gt;
* Customer-setups where the phones are in separated private networks, e.g. home-office without VPN to LAN of main-office. In this case the phones in different private networks can not send RTP-packets to each other. To overcome this problem, the media-relay option at the SessionBorder object must be enabled for those SessionBorder objects that have registration from &amp;quot;foreign&amp;quot; networks. If the Frontend is used as RTP-endpoint(i.e. by activating the media-relay option), the UDP-RTP port-range(by default 16384 / 32767) must be configured.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* Customers-setups with Master-Slave PBXs are not supported. The problem here is that the Master &amp;amp; Slave PBX are within the hosting provider’s private network and some PBX mechanism (e.g Registration-Redirection, Soap) would return IP-addresses with IP-addresses from the provider’s private network to device at the customer site. (e.g. a phone registering at a PBX might get an indication to register at another PBX - however the IP-address in this Redirection is in the hosting provider’s private network, therefore unknown to the phone).&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
[[Howto:A rough estimate of IPVA Performance]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:SBC_registration.png&amp;diff=32485</id>
		<title>File:SBC registration.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:SBC_registration.png&amp;diff=32485"/>
		<updated>2014-01-25T13:30:18Z</updated>

		<summary type="html">&lt;p&gt;Ole: Registration of phone via SBC on Front End to Customer IPVA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Registration of phone via SBC on Front End to Customer IPVA&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=30919</id>
		<title>Reference10:Concept Voice Recording 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=30919"/>
		<updated>2013-09-13T08:55:59Z</updated>

		<summary type="html">&lt;p&gt;Ole: pcap2wav is in v7 tools, not in v6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This article is preliminary – The product and functions described are not actually available and can be modified or canceled in any moment!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The innovaphone Voice Recorder application allows recording while the innovaphone Player application a comfortable search and playback of phone calls. &lt;br /&gt;
&lt;br /&gt;
All kinds of calls can be recorded:&lt;br /&gt;
&lt;br /&gt;
*Incoming calls&lt;br /&gt;
&lt;br /&gt;
*Outgoing calls&lt;br /&gt;
&lt;br /&gt;
*Calls from innovaphone IP Phones&lt;br /&gt;
&lt;br /&gt;
*Calls form 3rd party IP-Phones&lt;br /&gt;
&lt;br /&gt;
*Calls from IP-DECT phone sets&lt;br /&gt;
&lt;br /&gt;
*Calls from analogue phone sets&lt;br /&gt;
&lt;br /&gt;
*Calls from with mobile phones (mobility, forking)&lt;br /&gt;
&lt;br /&gt;
*Calls done on a legacy PBX (soft migrations scenarios)&lt;br /&gt;
&lt;br /&gt;
The solution requires an innovaphone PBX, the recording toll and two applications;&lt;br /&gt;
&lt;br /&gt;
*a recording tool described in this document called “Recorder”&lt;br /&gt;
&lt;br /&gt;
*a search and playback tool called “Player”. &lt;br /&gt;
&lt;br /&gt;
The usage of the Player is not part of this description, a separate localized help and user manual is available. &lt;br /&gt;
&lt;br /&gt;
While the recorder (this description) has to be installed by professionals and the maintenance is done by system administrations people (and therefore English wording and this description is good enough) the player is operated by End user and may be not digital native, skilled or knowledge base workers. &lt;br /&gt;
&lt;br /&gt;
Note also that the setup of the player is a typical admin job and not described in the player manual.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scenarios ==&lt;br /&gt;
&lt;br /&gt;
Recording is possible on each logical Gateway and therefore on external lines (ISDN, SIP or H323 Trunks). In theory “external” is just a convention, even internal calls passing through those gateways could be recorded, but this is more a theoretical issue. An innovaphone gateway can also be used as a “recording” bar and introduced between a legacy PBX and the PSTN. Remember anyway that the innovaphone PBX must be activated and the Reporting tool is required. &lt;br /&gt;
&lt;br /&gt;
Being recording defined on a logical Gateway opens different options, for example activate recoding just for a dedicated route. For example just for incoming calls or just for some outgoing calls. Typical examples for such a setup are business and private calls, where just business calls should be recorded. For example if a call is done using “0” as prefix recording is done, using “9” not. &lt;br /&gt;
&lt;br /&gt;
Or normally (“0”) no voice recording is done, but if a user access to a trunk with a particular prefix (“9”), recording is on. This for example is widely used in selling contracts by phone (like mobile phone carrier do); they call the customer and if the customer agrees in the commercial proposal to extend or to “sign” the contract they will call back the customer again using another prefix and record now the conversation. &lt;br /&gt;
&lt;br /&gt;
Recording rules can also be executed automatically because configured in the gateway setup. For example you can exclude certain user from recording or vice versa, doing recording just for some users.  For example all calls to the financial operators are recorded, all other calls not. Or all users are recorder but the management not.&lt;br /&gt;
&lt;br /&gt;
All that is a question of setup in then innovaphone gateway (and PBX) and not described in detail in this document, being standard features and described in many other articles (and being part of the advanced technical training).&lt;br /&gt;
&lt;br /&gt;
Please note that recording starts when a connection is established and terminates when the connection is terminated. That means that eventual waiting situations in waiting queues, music on hold sequences calls etc. are recorded too.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that each extension that should be recorded must be active in the reporting, means require a recording license. Even if you operate a soft migration you must go up in the PBX to a dummy user with reporting on and back again down to the relay.&lt;br /&gt;
&lt;br /&gt;
Notes:  Recording can be done just in G711A on a logical gateway as endpoint. If you need to record internal calls they must always transit a logical gateway (with the media relay flag on). &lt;br /&gt;
&lt;br /&gt;
The recorded files are in a wave format and can be played with a normal Mediaplayer, the delivered Player allows additional features.&lt;br /&gt;
&lt;br /&gt;
The recorded records are stored in an indicated path and a copy of the records can be done automatically.&lt;br /&gt;
&lt;br /&gt;
Errors and events are stored in a log file and alarms tracked; a mail can be send if an alarm occurs. &lt;br /&gt;
&lt;br /&gt;
It is possible to limit the duration of the storing period; older files will be deleted automatically. This is to avoid disk full errors, keep in mind that this kind of systems usually works unattended all the time.&lt;br /&gt;
&lt;br /&gt;
The number of player and recorder is unlimited.&lt;br /&gt;
&lt;br /&gt;
Recording can be done also directly from the IP-Phone. Doing VR using the IP-Phone has the following advantages or disadvantages; it depends on your point of view and the scenario.&lt;br /&gt;
&lt;br /&gt;
-	CPU-Load: No CPU power from the PBX is required, a Phone has enough CPU-Power to do that and more, and therefore it becomes an extremely scalable solution. If you do not use an external WebDAV server but a CF anyway the PBX CPU has some load (playing WebDAV server for the Phone)&lt;br /&gt;
&lt;br /&gt;
-	All calls on the phone are recorded (not just those crossing a gateway), so even internal calls (basically everything the phone is doing).&lt;br /&gt;
&lt;br /&gt;
-	Al users working on the phone are recorded. This means also that each possible user on the phone must have the reporting license otherwise a call from that user will cause a major alarm.&lt;br /&gt;
&lt;br /&gt;
-	Transferred calls to other extensions are after the call transfer no longer recorded. In case of gateway recording it is different, until the call cross the gateway recording is done.&lt;br /&gt;
&lt;br /&gt;
-	If you mix both setup in a scenario you should avoid that a Phone is doing recording and cross a gateway doing recording too. If that happen recording is done in two points and you double for nothing disk space and resources (and confuse everybody).&lt;br /&gt;
&lt;br /&gt;
-	Only innovaphone IP-Phones IP2x2 series and “A”-types (like IP110A, but not IP110) can performing VR directly.&lt;br /&gt;
&lt;br /&gt;
Switch on the recording has to be done in the phone setup file, there is no menu option. Mode information about that is in the online help of the recorder setup.&lt;br /&gt;
 &lt;br /&gt;
== Standard Recording ==&lt;br /&gt;
&lt;br /&gt;
Operating in the “Standard Recording” (STD) mode recorded calls are converted and saved after the call has finished. &lt;br /&gt;
&lt;br /&gt;
A recorder has to operate in one mode (STD or TCR), a mixed scenario is possible using two recorders, setup in this case has to be done very carefully.&lt;br /&gt;
&lt;br /&gt;
== SRTP ==&lt;br /&gt;
&lt;br /&gt;
Recording of encrypt conversation is possible, no particular setup is necessary, the system will decrypt automatically the media stream and store the conversation in unecnryptet  wave files for further processing.&lt;br /&gt;
&lt;br /&gt;
== Thread Call Recording ==&lt;br /&gt;
&lt;br /&gt;
Operating in the “Thread Call Recording” (TCR) mode only marked calls are converted and saved, all other calls are deleted automatically.&lt;br /&gt;
&lt;br /&gt;
A call can be marked manually from the user or automatically from his innovaphone IP-Phone. A call can be marked during the call or after call, but within a defined time period (for example until 5 minutes after the call-end). Not marked calls are deleted while marked calls will contain the entire call, so from the beginning on (even if marking is done during or after the call).&lt;br /&gt;
&lt;br /&gt;
Marking calls during the conversation can be done only using innovaphone IP-Phones while all type of phones can mark a call after the conversation. To mark a call after a conversation the user must call a XML object.&lt;br /&gt;
&lt;br /&gt;
In a typical setup the user will hear a confirmation if he is marking a call, something like “the last conversation was recorded and will be saved” or similar. &lt;br /&gt;
&lt;br /&gt;
If marking is done using an innovaphone IP-Phone during the call (pressing the redial key) audio or no audio can be played. For example an automatic advice like “this conversation will be recorded” or similar can be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup TCR === &lt;br /&gt;
&lt;br /&gt;
This paragraph discusses the different setups and aspects for Thread Call Recording. If you are not interested in those details skip it.&lt;br /&gt;
&lt;br /&gt;
TCR require a XML (TCRec.xml included in the software package of the Last call recording feature, see Related Articles, see Related Articles, go to the article and follow the download [http://download.innovaphone.com/ice/wiki-src#lcr http://download.innovaphone.com/ice/wiki-src#lcr] ), you have to create a directory and copy the xml in, create a VM-Object in the PBX and insert those parameters in the recorder setup (TCR panel). The XML can be called directly or using the recording functions on the innovaphone phones. If called directly the xml will play the audio file Track1.g711a, if called through the recording function of the IP-Phone the file Track2.g711a. If the files are not present the user will hear nothing. A solution for the confirmation could also be to play just a “beep” if calling directly the xml. You could copy the beep.g711a file (for example from the VM) and rename it. A better option is record them using the universal track recording tool, see related articles at the end iof this page.&lt;br /&gt;
&lt;br /&gt;
Some additional information if you use the recoding function of the innovaphone IP-Phone:&lt;br /&gt;
Keep in mind that this function will not really recording the voice but just calling the XML (the recoding is done by the Gateway or the phone, but directly and not using this function). As explained the XML will play the file Track2.g711a if present, but to hear the announcement you have to use on your phone at least version 10.0887 or higher and switch on the flag “Two Way Media” in the Recording section of the phone setup. The rest is the usual one, if you setup “Mode=transparent” each call will flagged as “to record”, if Mode=manual you have to press the redial key to flag. No problem if the user presses more than one time the record key, just the actual call will be recorded. &lt;br /&gt;
&lt;br /&gt;
The xml itself will terminate after playing the Tack 1 or 2, delayed for 2 seconds. If the user press the redial key in this way he will see in the display of his IP-Phone appear “Recording” for 2 seconds and has a feedback (even if no tone is played) that the conversation is flagged to record.&lt;br /&gt;
&lt;br /&gt;
== Last Call Recording/Repeat ==&lt;br /&gt;
&lt;br /&gt;
See relative article. &lt;br /&gt;
&lt;br /&gt;
Do not confuse this feature with the Instant Play (rescue mode) feature of the innovaphone Player.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The recording itself is done by the innovaphone gateway. In each logical gateway a recording path can be configured as a URL; that means that the voice will be recorded in a file, this file can be on a compact flash or on an external WebDAV server. The recorder application copy the recorded file, read out the reporting, combine both, and rename the file. The original file on the compact flash/WebDAV is deleted. The new filename is formed using date and time, caller and called user, direction of the call, the time to answer (ringing time) and the unique ID number.  The recorder converts the file from pcap to the wave format and stores the converted file in a directory. If requested a copy of this record can be saved in a second directory (for example a SAN or NAS disk area). A maximum number of storage time expressed in month can be defined, older files will be deleted automatically. In this way no disk space overflow will be in unattended systems. Parallel to the payload (the wave voice file) also a XML file containing the reporting data is created, the name of the file is the same than the one of the voce and just the extension is xml instead of wav. That is basically what the recorder is doing; copy and convert recorded files, retrieve data from the reporting, renaming of the files and copy them to different destinations as well as keeping track of history.&lt;br /&gt;
&lt;br /&gt;
The player allows searching and browsing of records, show the oldest or newest first, can filter the search etc. For example it can be displayed calls in any direction or just incoming or outgoing calls, or calls from a certain number or to a certain number, using even wildcards for quick filter options. See relative description for details. Once the calls a displayed they can be marked using windows usual methods (one, many, all, range, etc.). The marked files can be copy, past, deleted or played in a playlist. A record in the playlist can be marked and the player allows the usual operations of a windows media player. Looping and audio signal before playing the next record in the playlist is included as well as moving inside the playlist from one call to the other. If all that sounds complicated calm down, it is quite simple in using and designed for “users”.&lt;br /&gt;
&lt;br /&gt;
The player can even operate in a mode called “rescue mode” or “direct play mode”. If switched in this mode the latest record is always on top. This is a typical requirement for an emergency center operator, he is interested in replay the last or lasted recordings in a quick and simple mode.&lt;br /&gt;
&lt;br /&gt;
The player shows also the reporting details and generally the most important data of the conversation. If recorded files are copied also the relative reporting information is copied. &lt;br /&gt;
Many player can be installed and work in the same moment in a scenario, while the recorder typically is just one. So the recorder is a kind of server and the player a kind of client. More recorders can be installed in a scenario and if necessary a player can be installed on the same PC where a recorder is working. Being the recorder always on usually it will be installed on a dedicated machine doing just that located in the server room.&lt;br /&gt;
&lt;br /&gt;
But remember that the recording job is done as described by the gateway. So even if a recorder application is switched off voice recording is done. The idea anyway is not that the recorder is switched off and just sometimes switched on to retrieve the files. But if you must shut down the application or reboot or enter in setup, no data will lose.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the logical interfaces between the innovaphone voice recorder, the innovaphone player and the rest of the equipment.&lt;br /&gt;
&lt;br /&gt;
[[Image:Player07.png]]&lt;br /&gt;
&lt;br /&gt;
The connection between the player and the recorder is a TCP link, it is not mandatory and uses just to show the recorder status and performing a recorder reset in case of failure. The player main data source is the disk where the records are stores. There could be active many player at the same time, and in theory also more than one recorder. One player could monitor just one recorder, but it is possible to start more player on the same PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Recorder ===&lt;br /&gt;
&lt;br /&gt;
The recorder application requires a PC or server with Windows OS Win 7 or higher, also windows server 2008 (Windows 2003 server not tested) or higher is supported. &lt;br /&gt;
&lt;br /&gt;
Disk space: One minute of conversation requires about 1 MB of memory. A lot, but a TB HD today is cheap and for example even a 500 GB Raid 1 external NAS is not real expensive. Typically a recorder should have a Raid system, but remember that the recorder is able to do also a security copy. The copy to an external security drive is possible because in many scenario’s customer has to archive records for many years. &lt;br /&gt;
The recorder requires a NTFS file system (no FAT32), usually today a standard on PC. &lt;br /&gt;
&lt;br /&gt;
No particular memory or CPU speed is requested, standard editions are quite good enough. Invest better in a good quality because in professional environments those machines have to work for many years.&lt;br /&gt;
&lt;br /&gt;
Voice recording requires a Version 10 innovaphone PBX and a Version 10 Reporting tool. No compatibility with older versions is possible. PBX and/or Reporting can run on a gateway as well as on VMware. &lt;br /&gt;
&lt;br /&gt;
The recording of the pcap file is done by the PBX firmware and requires a Compact flash or a WebDAV server. The recorder software will detect those records and copy them on the real storage path. Therefore the storage requirement for the CF/WebDAV not real high (but remember always 1 Minute =1 MB, so if you must record 30 conversations for 30 minutes = 900MB).&lt;br /&gt;
&lt;br /&gt;
Voice recorder and Player could run on the same PC as well one single PC can also be used for the reporting, recording, playing and webdav server (and PBX if you like). So anything on one server is theoretically possible. &lt;br /&gt;
&lt;br /&gt;
The two extreme setups are: &lt;br /&gt;
&lt;br /&gt;
*innovaphone PBX on the GW, reporting on the GW, pcap recording on the CF, recording application on a PC&lt;br /&gt;
&lt;br /&gt;
*innovaphone PBX on the PC, reporting on the PC, pcap recording on the PC, recording application on a PC&lt;br /&gt;
&lt;br /&gt;
Each combination between is possible. &lt;br /&gt;
&lt;br /&gt;
=== Player ===&lt;br /&gt;
&lt;br /&gt;
The player application requires a PC with Windows OS Win 7 or higher, the Mediaplayer is necessary. All that on a standard office PC is installed and you have to do nothing in particularly.&lt;br /&gt;
Require Framework 3.5. &lt;br /&gt;
In theory also a Windows server 2008 could host the player, but in the server versions the media player typically is not installed and there are also different DLL missing. So if you have time or you are well Microsoft server trained face also that if necessary (normally not).&lt;br /&gt;
 &lt;br /&gt;
=== Legal Aspects ===&lt;br /&gt;
&lt;br /&gt;
Please take extremely care about the legal issue: in most country voice recording of telephone calls is forbidden and persecuted by law as a crime.  In some country it is legal in certain circumstances, for example you have to inform the caller that the call will be recorded. That can be done automatically (using for example a waiting queue) or “manually”, telling the far person that this call will be recorded. Of cause also this announcement should be recorded. In some country recording is legal without any announcement for certain services, for example in case of emergency calls or calls to the police. In most country authority like the secret service do not really care about all that stuff and do what they want, but this is probably not your case. &lt;br /&gt;
&lt;br /&gt;
So inform yourself and the customer about the local legal situation. Using the recording tools is on your own risk and innovaphone will not take any responsibility, even not for eventual malfunctions. See also our general trading terms, valid even for this solution. If you have any doubt about legal questions in using voice recording; don´t do it, don’ use it!&lt;br /&gt;
&lt;br /&gt;
== Installation Sep by Step==&lt;br /&gt;
&lt;br /&gt;
In this and many other wiki articles everything you need to install and operate the product is (hopefully) described. Partners some time have the problem that they could not find a logical flow in the description and the do not realize what is important and what interesting, but not essential. &lt;br /&gt;
&lt;br /&gt;
To help here a simple step by step instruction, all details and comments are in the other paragraph and, of cause, in other articles. &lt;br /&gt;
&lt;br /&gt;
1.	Check the Software version of your PBX, it must be 10 or higher otherwise do an upgrade or forget this recording. You PBX must be up and running and to test you need at least 2 Phones.&lt;br /&gt;
&lt;br /&gt;
2.	Check that you have a valid license for the recording, if not just a demo-mode is possible, after 20 minutes the recorder stop and you have to restart him again.&lt;br /&gt;
&lt;br /&gt;
3.	Your CF should be working fine, create a directory to buffer the pcap files (for example http://123.123.123.123/DRIVE/CF0/IF_REC). &lt;br /&gt;
&lt;br /&gt;
4.	Setup the recording gateway, see http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup#Gateway_Setup . If you want to do a test with internal phones you have to assure that in ca ll from one user to the other this gateway will be involved. Create for example a access code to this GW and flag Media-Relay. If you call this access code followed by the internal number ths should happen. Of cause if you have a real trunk the you will do all that using the relative GW. At the end of the story your call must passing the recording gateway, check it; open you PBX interface, click on gateway and calls: you should see that the call goes through the recording GW. A pcap file will created at the CF directory indicated in the setup of the gateway (the same one you create in pass 3).&lt;br /&gt;
&lt;br /&gt;
5.	Start up the reporting (on a xx10 GW or IPVA), it must be up and working, you should be able to see the reports of the call done using the recording gateway.&lt;br /&gt;
&lt;br /&gt;
6.      Create SOAP user, a blank empty user object called SOAP (or _TAPI_ or _whatever_)&lt;br /&gt;
&lt;br /&gt;
7.	Create a root directory where the recorded files should be stores (for example “c:\mytest\” or “G:\myExternalDrive\”).&lt;br /&gt;
&lt;br /&gt;
8.	Now create a directory and put the innovaphone_recorder.exe and the pcap2wav.exe in the same directory (this is done automatically if installation is done with the installer). &lt;br /&gt;
&lt;br /&gt;
9.	Start the application and open the setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
While the Recorder is simple in using but complex in setup and works “hidden” for the user, the Player is simple to setup but has a huge user interface. The Player is typically installed on one or more PC of users. Therefore for the Player a user description (the “Player manual”) is available. The Player description is available also in localized version; please check the relative section in the innovaphone Wiki.&lt;br /&gt;
Recorder and player applications are single executable file. The setup is stored in a xml file located in the same directory where the application is running; no registry entry is done; if you delete the directory where the recorder/player is in, the application is de-installed. If you like install on the same computer the recorder and the player application you have to create two different directories and copy the applications twice. Automatic execution is possible inserting in the auto start directory the recorder application.&lt;br /&gt;
&lt;br /&gt;
Please note that the setup file is in xml format, but his content is encrypted.&lt;br /&gt;
&lt;br /&gt;
The installation tool will copy all reqired files, if you install manually copping file note the following issues:&lt;br /&gt;
&lt;br /&gt;
If you install a recorder application manually you must copy the “pcap2wav.exe” utility in the same directory!&lt;br /&gt;
&lt;br /&gt;
Note: This utility “pcap2wav.exe” can be downloaded in the V7 application folder, access to a directory and download the “tools” Zip file; inside you will find the pcap2wav.exe. &lt;br /&gt;
The recorder is not a service because there is a full user interface available. To ensure that the recorder starts up even after a boot put the application in your autostart folder. In the setup an option to start up minimized is available.&lt;br /&gt;
&lt;br /&gt;
Before starting the recorder application check the following items on the recorder PC:&lt;br /&gt;
&lt;br /&gt;
*the directory where the recordings should be stored must be visible and it must be possible to create subdirectories, try using the file explorer&lt;br /&gt;
&lt;br /&gt;
*If backup is requested also a write access to the backup path must be possible (but it is not necessary to be able create subfolders).&lt;br /&gt;
&lt;br /&gt;
*Access to the reporting tool must be possible, use a browser to check&lt;br /&gt;
&lt;br /&gt;
*The access to the CF (or the WebDAV server) must be possible, try to map a drive and access to the directory where the pcap files are&lt;br /&gt;
&lt;br /&gt;
Do the setup the innovaphone PBX, the gateway and the reporting.&lt;br /&gt;
&lt;br /&gt;
See eventually also http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup#Recorder_Setup for a better understanding of the requirements.&lt;br /&gt;
&lt;br /&gt;
If you do now a call which has to be recorded this call must be logged in the reporting tool and a pcap file must be created in the indicated url path. Go only ahead if that is up and running.&lt;br /&gt;
&lt;br /&gt;
Now start the recording software and open the setup and set the values. An online help will explain the single parameters. Maybe it is also a good idea reading first the rest of this article.&lt;br /&gt;
&lt;br /&gt;
The installation of the Player is similar just simpler. After installing start the application, enter the setup and that its. But it has no sense install or setup a Player without before having a working recorder.&lt;br /&gt;
 &lt;br /&gt;
On a single PC multiple Recorder and Player can be installed, simple install and run them on different directories.&lt;br /&gt;
&lt;br /&gt;
=== CPU load ===&lt;br /&gt;
&lt;br /&gt;
The power of the innovaphone CPU on the different gateway models is high enough to ensure the recording of all ISDN cannels (or the same number of SIP/H323 Trunk) on that gateway. If recording is done on a CF the innovaphone PBX CPU will be involved also in the copy operation (if recording is done on an external WebDAV server no CPU load of the PBX for copy is required). After the copy operation no more CPU power of the PBX CPU is required. &lt;br /&gt;
&lt;br /&gt;
The reporting CPU (which is anyway the second core in case of a gateway or a separate CPU in case of VMware) has some small workload because the recorder checks each 5 seconds the reporting. &lt;br /&gt;
Using the player will cause no workload for PBX, reporting or recorder CPU, so just the local workstation CPU power is require. Therefore the number of player is practically insignificant for any CPU load. &lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
&lt;br /&gt;
Recorder and the Player applications write an individual error log, this log is a text file and stored in the same directory where the application is. See online help for file names and description of the other files used by this applications. &lt;br /&gt;
&lt;br /&gt;
The recorder can also write a trace file; if tracing option is switched on all operations of the recorder are logged in a file named “iREC_sys_log.txt”. Please not that this files become very large if the option is always on, and this file will not be deleted or resized automatically. The idea is not to keep on tracing all the time but to switch on the trace during the first period or in case of trouble checking.  &lt;br /&gt;
If enabled in the setup the player stores all special operations in a central log file. All copy, delete and move operations done using the player are in this way stored automatically in a central log file.&lt;br /&gt;
&lt;br /&gt;
A “user operational” log file is in a central point and unique for all players installed. Here all user manipulations done using the player applications are reported, so copy or delete is traced. This file is named “iREC_Player_log.txt” and located in the “\TMP” subdirectory of the root recording directory. In this way all operations of all Player-User are visible at a glance in one single file. &lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
The setup of the recorder and player is stored in an AES encrypted setup xml file. Therefore the user cannot manipulate or read out setup values. The access to the setup can be protected with a password. If a user deletes the setup file the software assumes that this is a new installation and allows access to the setup without password. If the user enters the correct path for the recording the software read out a centralized password and it is not possible to save the setup without that password. There is no way to read out or decode the password and this means that if you, as administrator, forget the password you have to clear the centralized password and the setup of the recorder and re-configure all. Try to avoid that situation and remember your password.&lt;br /&gt;
&lt;br /&gt;
The centralized password is in the located in the “\TMP” subdirectory of the root recording directory and named “SPlayer.xml”. It is also encrypted of cause.&lt;br /&gt;
&lt;br /&gt;
The Reporting xml data string can be modified with any editor and therefore it is possible to encrypt the connection data. &lt;br /&gt;
&lt;br /&gt;
In the setup of the recorder you can switch on the option “Encryption reporting data”. If encryption is on instead of an XML a XMC file extension shows that the XML data stored are AES encrypted. The player detects automatically if the reporting data are clear or encrypt and will show them independently. In the first column header of the player a looked/unlooked symbol is displayed showing the encrypt/clear file mode. If (using the player) a encrypt records is copied it will be automatically decrypt, while moving a file (cut and paste) will not change the original file mode. In this way a clear copy of a xml can be done from an authentic encrypted data string.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Voice Recorder operation ==&lt;br /&gt;
&lt;br /&gt;
The recorder can operate in 3 layouts; minimized in the taskbar, viewing a small window or an extended panel. &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Image:Recorder01.png]]&lt;br /&gt;
&lt;br /&gt;
Switching between small and large view is done pressing the “&amp;gt;” key, press “_” for minimize.&lt;br /&gt;
&lt;br /&gt;
[[Image:VR010.png]]&lt;br /&gt;
&lt;br /&gt;
=== Start up ===&lt;br /&gt;
&lt;br /&gt;
During start up the basic operational parameter are checked while the master alarm is disabled. The master alarm supervision is just switched on after about 20 seconds. This is necessary because sometimes network operation during start up fails, but becomes up in a second attempt. For example mapping of network drives fails frequently at the first attempt but once up they will remain connected without any problem. The sequence of testing is done by design and the software will not proceed in operation if a parameter fails but continuously try to fix it. &lt;br /&gt;
&lt;br /&gt;
This initial health check during start-up is done in the following order:&lt;br /&gt;
&lt;br /&gt;
*checking setup: try to understand if the setup parameters are reasonable and in particularly if the WebDAV drive or CF can be mapped. If mapping fails the “SETUP” lamp will be red, error message “Setup not o.k.” is viewed.&lt;br /&gt;
&lt;br /&gt;
*checking reporting: pings the reporting, if ping is o.k. try to load a dummy page. If ping or dummy fails the “REPORTING” lamp is red, error message “Reporting Link failure” is viewed.&lt;br /&gt;
&lt;br /&gt;
*checking to access to the recording directory (url): try to read out the indicated path, if fails “PCAP” lamp is red, error message “PCAP directory access fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
*checking if access to the storage path is possible: If reading fails the “DISK” lamp is red, error message “Store path fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
If in the setup no backup path is indicated this last task is skipped and the Backup lamp is grey. Otherwise the access to the path is tested, if access fails the “BACKUP” lamp is red, error message “Backup path fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
If a test is passed the relative lamp becomes green. If after start up 6 lamps are green (or 5 green and one grey) everything is working fine and the message “Normal Operation” is displayed in the System status line. &lt;br /&gt;
&lt;br /&gt;
After 20 second the Master alert supervision is switched to active, an eventual error causes a Master Alarm (see relative section).&lt;br /&gt;
&lt;br /&gt;
=== Normal operation ===&lt;br /&gt;
&lt;br /&gt;
The check counter shows you how many times the recorder reads out the recording directory and checks the reporting. As you see al 5 seconds a reading attempt is done, if data are found further processing operation will start. This counter goes automatically to 0 reaching 9999 and shows you that the software is working and checking but has no further signification.&lt;br /&gt;
&lt;br /&gt;
The counter “Channels in recording” shows you how many recordings are ongoing. The panel shows you the ID of each recording file and the initial recording time. In this way you can see how long a call is jet in recording. &lt;br /&gt;
&lt;br /&gt;
If the call ends it will disappear from the list. If there are more records then default lines a scroll down will automatically appear. &lt;br /&gt;
&lt;br /&gt;
If you click the innovaphone logo the software version is displayed. The version is also displayed in the headline of the setup.&lt;br /&gt;
&lt;br /&gt;
===Extended view ===&lt;br /&gt;
&lt;br /&gt;
If you enlarge the window with the “&amp;gt;” key two additional panels appears. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:Recorder02.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The left one shows the regular normal operations, the right one the errors and basic messages (like Start-up). The messages displayed of the error panel are stored automatically in an error log file while the messages of the status panel only file if that is enabled in setup. Both windows can be cleared pressing the relative button. This clearage is just an “optical” issue; no file is deleted or similar. Both windows shows up to 100 entries, if entry becomes too large a scrollbar appear automatically. If “full” the oldest message will be cleared. On top the error panel can also display the last 30 Error reading out the error file. &lt;br /&gt;
&lt;br /&gt;
Pressing the “&amp;lt;” key the windows will be resized again. &lt;br /&gt;
&lt;br /&gt;
There is no operational difference between the different layouts. The recording application starts always with the small window stile. &lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
Open a separate window, see relative online help.&lt;br /&gt;
&lt;br /&gt;
http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup#Recorder_Setup&lt;br /&gt;
&lt;br /&gt;
Note: during setup the recording timers are disabled, this means that no normal operation is done. For normal operation the setup must be terminated (with or without saving).&lt;br /&gt;
&lt;br /&gt;
=== Alarms ===&lt;br /&gt;
&lt;br /&gt;
[[Image:VR011.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
About 20 seconds after startup, and always during normal operation, alarms are detected from a particular master alarm routine. Some alarms are self-healing, others not. If an alarm occurs the relative source is switched from green to red, if an alarm disappears from red to green. You can simply test is, just shut down the reporting during operation and you will see that the reporting indicator becomes red. If you start up the reporting again the indication will switch automatically from red to green. &lt;br /&gt;
&lt;br /&gt;
An alarm master routine will control the system and summarize the alarms. On the left side there is an indicator “Master alarm” and two buttons, “RESET” and “OFF”.  While the alarms can toggle and appear and disappear, the master alarm once triggered will indicate that there was at least one serious error. The detail can be shown in the error log, but the point is that the master alarm shows you the correct operation in time and store the error event. &lt;br /&gt;
&lt;br /&gt;
With the “OFF” button the master alert can be switched manually off. If the master alarm is switched off the “OFF” button will blink red to indicate this exceptional situation. A manual switch off of the master alarm could be necessary during setup or test, or simply to avoid receive alarm emails being anyway in front of the application or similar. &lt;br /&gt;
&lt;br /&gt;
If the master alarm detect at least one error it will be switch on the Master Alarm status, the relative indicator will blink red, a warning triangle will appear and, if configured in the setup, and a warning email is send to the administrator. &lt;br /&gt;
&lt;br /&gt;
[[Image:VR012.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The icon of the application in the taskbar is changed and a warning triangle appears on the recorder logo; also operating in minimized status the Master Alert situation is visible. &lt;br /&gt;
&lt;br /&gt;
[[Image:VR013.png]] &lt;br /&gt;
&lt;br /&gt;
As explained the master alarm will not recover if an error disappears: to reset the master alarm the “RESET” button has to be clicked. Clicking the Reset Key the Master Alarm becomes again armed and will trigger again if an error is detected.&lt;br /&gt;
&lt;br /&gt;
The single errors are partly described in the startup section while the “SOFTWARE” indicator will go into alarm if there is an unexpected error in the software. While some errors are expected and supported and will not cause such an error (for example “no files” if you browse an empty directory) others are not (for example if the decoding of pcap file fails). So while some errors could be an exception (like the failing of file conversation) others could be persisting (like “disk full”) or are simply bugs.&lt;br /&gt;
&lt;br /&gt;
A particular expected, but not tolerable error is described in the next section.&lt;br /&gt;
&lt;br /&gt;
=== Reporting time out error ===&lt;br /&gt;
&lt;br /&gt;
Each extension recorded must have the reporting license active. If that is not (or of the reporting is switched off for a longer period causing loss of CDR data) the recorder got a pcap file with an ID number, but no CDR data for that file from the reporting. The recorder waits up to 120 minutes to receive valid CDR data, after that time he will give up and save and convert the file with incomplete data. If that happened the “REPORTING” lamp will switch to red and a master alert will trigger. Instead of caller, called number etc. a “U” (like “unknown”) is used in the filename. So if a file name contains “ .. _U.U.U_U_ ..” means that there was a reporting time out. The only usable data are the ID and the creation time of the file, that is the reasonable starting time of the recorded conversation. &lt;br /&gt;
&lt;br /&gt;
The things goes even worst if there is a call up for more than 2 hours, because this situation is similar for the recording application: a record in recording is detected but there is no valid response from the Reporting for that record ID . After 2 hours the recorder try to solve the situation,  switch on the reporting error lamp copy and rename the recorded file, but then will happen also a Software error, because the deleting of the pcap file will fail (because the file is jet in use). Remember: while “_U_” should not happen, “_U_” because of busy conversation should never happen. Therefore we recommend limiting the speech time to 120 minutes (the recorder trigger if the value is more than 121 minutes). That can be done in the main window of the innovaphone PBX, field “Max Call duration (h)”, put 2 in. To less 2 hours for conversations? Send us an email we will enlarge that timeout to your requirement.&lt;br /&gt;
&lt;br /&gt;
=== Terminating ===&lt;br /&gt;
&lt;br /&gt;
If you try to stop the application a warning message appears, if you confirm the recorder application stops.&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
&lt;br /&gt;
Voice files are stored a subdirectory of the indicated path in the recorder setup.&lt;br /&gt;
&lt;br /&gt;
The files are Wave stereo files where the left channel contains one speaker and the right channel the other one. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two working sub directories: the directory “/TMP” contains the central activity log file where the player applications will report their activities (“iRec_Player_Log.txt”). The second is the directory “/REC”, it is a working folder. Both folders are created automatically.  The recorder creates a subdirectory for each month, so for June 2013 for example a directory “2013_06” is created and all recorded files in that period will be stored there. Note that in the backup folder no subdirectory folder are created and therefore all files in the backup path are in the same folder. &lt;br /&gt;
&lt;br /&gt;
The recording files are always a couple, one file contains the audio (in wave format, can be reproduced using also standard audio player) and an xml file with the same name containing connection data. Both files are anyway independent and our player handles automatically a single wave file as well as the pair with additional detailed connection data.&lt;br /&gt;
&lt;br /&gt;
One goal of the recorder was to produce a wave file that contains all relevant data. &lt;br /&gt;
&lt;br /&gt;
The format of the name of the Wave file is the following:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Date and Time of conversation start&amp;quot; + &amp;quot;internal user&amp;quot; + &amp;quot;direction&amp;quot; + &amp;quot;external user&amp;quot; + &amp;quot;time to answer in seconds&amp;quot; + &amp;quot;serial number&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
“2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.wav”&lt;br /&gt;
&lt;br /&gt;
Date: 24.06.2013&lt;br /&gt;
&lt;br /&gt;
Time: 16:38&lt;br /&gt;
&lt;br /&gt;
Internal: 39&lt;br /&gt;
&lt;br /&gt;
Direction: o = outgoing&lt;br /&gt;
&lt;br /&gt;
External: 0800107&lt;br /&gt;
&lt;br /&gt;
Time to answer: 7 seconds&lt;br /&gt;
&lt;br /&gt;
Serial: 75c1f48e909d31188fc00903306225f&lt;br /&gt;
&lt;br /&gt;
The file “2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.xml” contains the reporting data of this call. &lt;br /&gt;
&lt;br /&gt;
The player retrieves the name of the wave file and displays the data from the xml file if present, otherwise at least the data inside the filename.&lt;br /&gt;
&lt;br /&gt;
If you like you can open the xml file even with an editor and see all the relevant data, much more then displayed using the player.&lt;br /&gt;
&lt;br /&gt;
The player shows also the duration of the call (the recoding) and other details. See relative description.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Player_Voice_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Voice_Recorder/Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Last_Call_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Universal_Track_Recording_Tool]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Pcap&amp;diff=29618</id>
		<title>Howto:Pcap</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Pcap&amp;diff=29618"/>
		<updated>2013-05-16T11:44:34Z</updated>

		<summary type="html">&lt;p&gt;Ole: /* Capturing with wireshark */&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 &amp;gt;= 1.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 folder] and download the tools.zip. 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;
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 and from newer Wireshark v.1.8.6)&lt;br /&gt;
[[Image:Wireshark_1.2.2_trace_settings.PNG|left|thumb|200px|Wireshark capture options]]&lt;br /&gt;
[[Image:Wireshark_1.8.6_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;
&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 asterix 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;
&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>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Wireshark_1.8.6_settings.png&amp;diff=29617</id>
		<title>File:Wireshark 1.8.6 settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Wireshark_1.8.6_settings.png&amp;diff=29617"/>
		<updated>2013-05-16T11:42:07Z</updated>

		<summary type="html">&lt;p&gt;Ole: Wireshark v.1.8.6 capture options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wireshark v.1.8.6 capture options&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Listen_to_several_conference_rooms&amp;diff=27540</id>
		<title>Howto:Listen to several conference rooms</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Listen_to_several_conference_rooms&amp;diff=27540"/>
		<updated>2012-11-21T13:57:18Z</updated>

		<summary type="html">&lt;p&gt;Ole: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:3rd Party Input}}&lt;br /&gt;
How to listen (one way media) to several conference rooms at once, with one phone or loadspeaker, without disturbing the conferences.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* IP PBX V9 with [[Reference9:Gateway/Interfaces#Conferencing_interface_.28CONF.29 | CONF]] resources available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: conference room CONF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
[[Image:Conf_listen.PNG]]&lt;br /&gt;
&lt;br /&gt;
We have several ongoing conferences. We want to monitor / listen to all of them without leaking audio from one conference to an other.&lt;br /&gt;
Each listening service need 4 additional conference resources, so it is important to have a gateway with enough resources (IP810 or more powerful).&lt;br /&gt;
&lt;br /&gt;
The solution is to send the audio from each conference through an additional muted conference room before the audio is sent to the final conference room that mix the one-way audio from all the other conferences.&lt;br /&gt;
&lt;br /&gt;
Because of one conference room can&#039;t send audio direct to an other conference room, we have to send it out to the GW part and into the PBX again.&lt;br /&gt;
&lt;br /&gt;
==Configuration concept==&lt;br /&gt;
[[Image:Conf_listen_config.PNG]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Conf-x&#039;&#039;&#039; are the ordinary conference rooms. They are BC conf objects. They have to be active in the &#039;&#039;&#039;Conf-x&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;Conf-x listen user&#039;&#039;&#039; are standard user objects, always participate in the corresponding conference room. They have also to be in the &#039;&#039;&#039;Conf-x&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;GW1&#039;&#039;&#039; is a gateway with registration. Let it register on the corresponding &#039;&#039;&#039;Conf-x listen users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Route ^*21#&#039;&#039;&#039; routes the calls into the PBX again, ex via trunk object, and mute the next conference room with the *21# command.&lt;br /&gt;
* &#039;&#039;&#039;Conf-x muted&#039;&#039;&#039; are the conference rooms. They are BC conf objects. They have to be active in the &#039;&#039;&#039;Conf-x mute&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;Conf-x muted user&#039;&#039;&#039; are standard user objects, always participate in the corresponding muted conference room. They have also to be in the &#039;&#039;&#039;Conf-x mute&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;GW2&#039;&#039;&#039; is a gateway with registration. Let it register on the corresponding &#039;&#039;&#039;Conf-x muted users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Route&#039;&#039;&#039; routes the calls into the PBX again, ex via trunk object.&lt;br /&gt;
* &#039;&#039;&#039;Conf speaker WQ&#039;&#039;&#039; is a waiting queue object. It accept calls from &#039;&#039;&#039;Conf-x muted users&#039;&#039;&#039;. And it forwards the call with Call Forward No Reply after 3 seconds to &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; conference room. The reason for the three seconds delay, is to wait until &#039;&#039;&#039;Conf-x muted&#039;&#039;&#039; is muted with the DTMF code *21#. If not, this DTMF had also muted &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; conference room.&lt;br /&gt;
* &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; is a conference room mixing together the audio from all conferences and send it to the speaker. It has to be active in the &#039;&#039;&#039;Conf-speaker&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;Conf speaker user&#039;&#039;&#039; is a standard user objects, always participate in the &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; conference room. The listening phone is registered on this object. You can also use 2N SIP netspeaker. It register on this object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PBX objects==&lt;br /&gt;
Create the BC conf objects, user objects and WQ objects.&lt;br /&gt;
Here is a screenshot from an example.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_PBX-objects.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_BC-object-2.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Gateway and Routes==&lt;br /&gt;
Create the gateways and routes.&lt;br /&gt;
Here is screenshots from our example.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_GW.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_Routes.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Listen_to_several_conference_rooms&amp;diff=27539</id>
		<title>Howto:Listen to several conference rooms</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Listen_to_several_conference_rooms&amp;diff=27539"/>
		<updated>2012-11-21T13:54:49Z</updated>

		<summary type="html">&lt;p&gt;Ole: New page: {{Template:3rd Party Input}} How to listen (one way media) to several conference rooms at once, with one phone or loadspeaker, without disturbing the conferences.  ==Applies To== This info...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:3rd Party Input}}&lt;br /&gt;
How to listen (one way media) to several conference rooms at once, with one phone or loadspeaker, without disturbing the conferences.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* IP PBX V9 with [[Reference9:Gateway/Interfaces#Conferencing_interface_.28CONF.29 | CONF]] resources available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: conference room CONF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
[[Image:Conf_listen.PNG]]&lt;br /&gt;
&lt;br /&gt;
We have several ongoing conferences. We want to monitor / listen to all of them without leaking audio from one conference to an other.&lt;br /&gt;
Each listening service need 4 additional conference resources, so it is important to have a gateway with enough resources (IP810 or more powerful).&lt;br /&gt;
&lt;br /&gt;
The solution is to send the audio from each conference through an additional muted conference room before the audio is sent to the final conference room that mix the one-way audio from all the other conferences.&lt;br /&gt;
&lt;br /&gt;
Because of one conference room can&#039;t send audio direct to an other conference room, we have to send it out to the GW part and into the PBX again.&lt;br /&gt;
&lt;br /&gt;
Here is the configuration concept:&lt;br /&gt;
[[Image:Conf_listen_config.PNG]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Conf-x&#039;&#039;&#039; are the ordinary conference rooms. They are BC conf objects. They have to be active in the &#039;&#039;&#039;Conf-x&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;Conf-x listen user&#039;&#039;&#039; are standard user objects, always participate in the corresponding conference room. They have also to be in the &#039;&#039;&#039;Conf-x&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;GW1&#039;&#039;&#039; is a gateway with registration. Let it register on the corresponding &#039;&#039;&#039;Conf-x listen users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Route ^*21#&#039;&#039;&#039; routes the calls into the PBX again, ex via trunk object, and mute the next conference room with the *21# command.&lt;br /&gt;
* &#039;&#039;&#039;Conf-x muted&#039;&#039;&#039; are the conference rooms. They are BC conf objects. They have to be active in the &#039;&#039;&#039;Conf-x mute&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;Conf-x muted user&#039;&#039;&#039; are standard user objects, always participate in the corresponding muted conference room. They have also to be in the &#039;&#039;&#039;Conf-x mute&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;GW2&#039;&#039;&#039; is a gateway with registration. Let it register on the corresponding &#039;&#039;&#039;Conf-x muted users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Route&#039;&#039;&#039; routes the calls into the PBX again, ex via trunk object.&lt;br /&gt;
* &#039;&#039;&#039;Conf speaker WQ&#039;&#039;&#039; is a waiting queue object. It accept calls from &#039;&#039;&#039;Conf-x muted users&#039;&#039;&#039;. And it forwards the call with Call Forward No Reply after 3 seconds to &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; conference room. The reason for the three seconds delay, is to wait until &#039;&#039;&#039;Conf-x muted&#039;&#039;&#039; is muted with the DTMF code *21#. If not, this DTMF had also muted &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; conference room.&lt;br /&gt;
* &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; is a conference room mixing together the audio from all conferences and send it to the speaker. It has to be active in the &#039;&#039;&#039;Conf-speaker&#039;&#039;&#039; group.&lt;br /&gt;
* &#039;&#039;&#039;Conf speaker user&#039;&#039;&#039; is a standard user objects, always participate in the &#039;&#039;&#039;Conf speaker&#039;&#039;&#039; conference room. The listening phone is registered on this object. You can also use 2N SIP netspeaker. It register on this object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PBX objects==&lt;br /&gt;
Create the BC conf objects, user objects and WQ objects.&lt;br /&gt;
Here is a screenshot from an example.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_PBX-objects.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_BC-object-2.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Gateway and Routes==&lt;br /&gt;
Create the gateways and routes.&lt;br /&gt;
Here is screenshots from our example.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_GW.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Conf_Routes.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Conf_Routes.PNG&amp;diff=27538</id>
		<title>File:Conf Routes.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Conf_Routes.PNG&amp;diff=27538"/>
		<updated>2012-11-21T13:48:42Z</updated>

		<summary type="html">&lt;p&gt;Ole: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Conf_GW.PNG&amp;diff=27537</id>
		<title>File:Conf GW.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Conf_GW.PNG&amp;diff=27537"/>
		<updated>2012-11-21T13:46:33Z</updated>

		<summary type="html">&lt;p&gt;Ole: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Conf_BC-object-2.PNG&amp;diff=27536</id>
		<title>File:Conf BC-object-2.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Conf_BC-object-2.PNG&amp;diff=27536"/>
		<updated>2012-11-21T13:45:32Z</updated>

		<summary type="html">&lt;p&gt;Ole: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Conf_PBX-objects.PNG&amp;diff=27534</id>
		<title>File:Conf PBX-objects.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Conf_PBX-objects.PNG&amp;diff=27534"/>
		<updated>2012-11-21T13:43:50Z</updated>

		<summary type="html">&lt;p&gt;Ole: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Conf_listen_config.PNG&amp;diff=27533</id>
		<title>File:Conf listen config.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Conf_listen_config.PNG&amp;diff=27533"/>
		<updated>2012-11-21T12:18:32Z</updated>

		<summary type="html">&lt;p&gt;Ole: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Conf_listen.PNG&amp;diff=27532</id>
		<title>File:Conf listen.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Conf_listen.PNG&amp;diff=27532"/>
		<updated>2012-11-21T12:08:17Z</updated>

		<summary type="html">&lt;p&gt;Ole: 2N SIP speaker used to listen to several conferences&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2N SIP speaker used to listen to several conferences&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Linux_Application_Platform&amp;diff=27275</id>
		<title>Reference9:Concept Linux Application Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Linux_Application_Platform&amp;diff=27275"/>
		<updated>2012-11-01T10:29:19Z</updated>

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

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

		<summary type="html">&lt;p&gt;Ole: Default user names and passwords for the different levels of the Linux application platform.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Default user names and passwords for the different levels of the Linux application platform.&lt;/div&gt;</summary>
		<author><name>Ole</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Linux_Application_Platform&amp;diff=27269</id>
		<title>Reference9:Concept Linux Application Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Linux_Application_Platform&amp;diff=27269"/>
		<updated>2012-10-31T21:59:02Z</updated>

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