<?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=Achim.klix</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=Achim.klix"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Achim.klix"/>
	<updated>2026-05-08T08:28:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Doorbell_-_MediaRunway_-_Partner_App&amp;diff=75629</id>
		<title>Howto:Doorbell - MediaRunway - Partner App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Doorbell_-_MediaRunway_-_Partner_App&amp;diff=75629"/>
		<updated>2025-03-13T14:20:39Z</updated>

		<summary type="html">&lt;p&gt;Achim.klix: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- replace CompanyLogo by real logo-name. Do not change size &amp;amp; alignment. Upload image by pressing red link --&amp;gt;&lt;br /&gt;
[[Image:Mediarunway_company_logo_200.png|200px|right|mediarunway_company_logo_200.png/]]&lt;br /&gt;
&lt;br /&gt;
==Product Name==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- replace CompanyName &amp;amp; ProductName by real names and add URL to productpage --&amp;gt;&lt;br /&gt;
MediaRunway [https://mediarunway.com/myapps/ Doorbell]&lt;br /&gt;
&lt;br /&gt;
==Certification Status==&lt;br /&gt;
&amp;lt;!-- do not remove comment. Will be added by innovaphone upon document check, app availablity in innovaphone-appstore &amp;amp; operational check --&amp;gt;&lt;br /&gt;
{{Template:Compat_Status_referral_product_new|type=App}}&lt;br /&gt;
&lt;br /&gt;
This App has been listed Juni 2023.&lt;br /&gt;
&lt;br /&gt;
==Category==&lt;br /&gt;
&amp;lt;!-- Do not change this section and do not remove comments. Will be set by innovaphone upon document check --&amp;gt;&lt;br /&gt;
[[Category:Partner Apps|{{PAGENAME}}]]&lt;br /&gt;
[[Category:3rdParty CTI and integrations|{{PAGENAME}}]]&lt;br /&gt;
{{Category:3rdParty CTI and integrations}}&lt;br /&gt;
&lt;br /&gt;
==Vendor==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place optional company logo. Don&#039;t change logo size. --&amp;gt;&lt;br /&gt;
[[Image:Mediarunway_company_logo_150_2.png|150px|mediarunway_company_logo_150_2.png/]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Give some introducting words about the vendor itself. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- At max 3 sentences, no novels. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MediaRunway is an ITC enterprise that provides its customers with contemporary IT services in all areas - Your business, our solution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For further information refer to vendor website via link --&amp;gt;&lt;br /&gt;
[https://www.mediarunway.com/ MediaRunway - About us]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- place optional product logo or functional overwiew. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Mediarunway-doorbell.png|mediarunway-doorbell.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Give description about the main product purpose. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- At max 3 sentences, no novels. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Doorbell allows you to connect your door intercom to the innovaphone myApps system. This makes it possible to receive the ringing of a visitor like a phone call and additionally view the image of the camera in your softphone while taking to the visitor or opening your door by a &amp;quot;soft button&amp;quot; click.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For further information refer to vendor product website via link --&amp;gt;&lt;br /&gt;
[https://mediarunway.com/myapps/ MediaRunway - About this application]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Some formattings WikiMedia supports:&lt;br /&gt;
==Title2==&lt;br /&gt;
===Title3===&lt;br /&gt;
&#039;&#039;&#039;xxx&#039;&#039;&#039; fat text&lt;br /&gt;
* - list item&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[Image:ProductLogo.png]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- some text --&amp;gt;&lt;br /&gt;
==Functions==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt; &lt;br /&gt;
&amp;lt;!-- Give functional description about the application. Use formattings if needed --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Preferred format is a short list of functions/buzz words offered by the product --&amp;gt; &lt;br /&gt;
The doorbell app is a video and function key add-on to the innovphone myApps softphone/ phone app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the myApps doorbell app is installed correctly, then there is a &amp;quot;doorbell&amp;quot; and a &amp;quot;doorbell admin&amp;quot; app. The doorbell admin app hasn´t to be licensed. With this app you can configure the door bell intercoms, the licensing and which user get the doorbell function. Each user who should get the doorbell function has to get access to the &amp;quot;doorbell&amp;quot; app (not &amp;quot;doorbell admin&amp;quot;). But a user will not see an app icon of the &amp;quot;doorbell&amp;quot; app, because it is a hidden app, which will integrate on thy fly in the innovphone myApps phone app if a configured doorbell is calling.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Videos: [https://www.youtube.com/watch?v=zSSxXEe-QCs DE] | [https://www.youtube.com/watch?v=Z70INs8ApK8 EN]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We succsessfull tested door bell intercoms from the following vendors with the myApps doorbell app (doorbell and pbx were connected directly via network layer 2 and a installed myApps client on Windows, iOS, Android): 2N, Axis, Mobotix, Telecom Behnke&lt;br /&gt;
&lt;br /&gt;
If no direct access to the camera over lan exists, then the client will get alternativly, if possible, an image of the camera through the myApps app platform (pre-condition the app platform could access the camera video/ image source). Thats should be the default behavior for a smartphone on the road without active company vpn. For the possible different video/ image paths look in this wiki article under prerequisites.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Feature1&lt;br /&gt;
* Feature2&lt;br /&gt;
* Feature3&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt; &lt;br /&gt;
&amp;lt;!-- Give information about costs and licensing model. Use formattings if needed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Licensing: innovaphone licensing. One Doorbell App App (User) license per user with any number of doorbell devices. No floating licensing, only the users who got a configured license have access.&lt;br /&gt;
The user must also have a myApps phone app.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&amp;lt;!-- Optional topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If applicable, name any system requirements / technical requirements. For example, if the function of the free app requires the use of software for which a fee is charged. --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Required other licenses&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The user who should use the doorbell app needs a licensed myApps softphone/ phone app and access to myApps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voice / function-key&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The app is a video and function key add-on to the innovaphone myApps phone app. So the voice communication with the door bell intercom has to work first. In the innovaphone wiki you find infos to connect some door intercom models to connect them with the innovaphone pbx, for example a [http://wiki.innovaphone.com/index.php?title=Howto:V13_MyApps_Cloud_-_connecting_2N-Intercom 2N in a cloud scenario].&lt;br /&gt;
The configured function key to open via DTMF the door works independently of the camera video/ image access. So only the voice path has to work independently of the doorbell app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Video/ image access&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The myApps user/client which should get access to the camera video/ image has to have anonymous access to the MJPEG/ JPEG source via http/ htpps of the camera.&lt;br /&gt;
Example to configure anonymous access for a &amp;quot;2N IP Verso&amp;quot; door bell intercom (in 08/2022). You have to navigate to Service&amp;gt;HTTP API. There you have to enable &amp;quot;Camera API&amp;quot; and set &amp;quot;Authentication&amp;quot; to &amp;quot;none&amp;quot;, if only a self signed certificate for ssl exist, then we recommend &amp;quot;unsecure (TCP)&amp;quot; for &amp;quot;connection type&amp;quot; and then we also recommend to use myApps with an installed client (Windows, Android, iOS was tested).&lt;br /&gt;
For more security you could restrict the anonymous video/ image access with network secruity mechanism (firewalling rules, etc.). What we recommend not to do is to do a port forwarding from WAN to the camera video/ image port. So that we didn´t describe that video path possibility.&lt;br /&gt;
The access to the video image depends on how the user is connected to myApps. We could decide between two big different scenarios&lt;br /&gt;
&lt;br /&gt;
1. the pbx / app plattform and maybe one or more reverse proxys which are installed on premise in the customer company wlan&lt;br /&gt;
&lt;br /&gt;
2. the pbx / app plattform and reverse proxy installed on the cloud provider side&lt;br /&gt;
&lt;br /&gt;
Each of the following two diagrams show one of the to big different scenarios. And each picture shows an abstract example for that scenario and which paths exist to access the camera video/ image from a myApps client.&lt;br /&gt;
&lt;br /&gt;
[[Image:Doorbell-videopath-onPremPBX.png|doorbell-videopath-onprempbx.png/]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Image:Doorbell-videopath-cloudPBX.png|doorbell-videopath-cloudpbx.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;App installing knowledge&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Knowledge about installing an App, adding the App Object for the users and how to configure your doorbell model for the access. The steps of the installation process are the same as described in this article [https://wiki.innovaphone.com/index.php?title=Howto:Callback_-_mediarunway_-_3rd_Party_Product#Install_app_from_App_Store &amp;quot;Callback - Install App from App Store&amp;quot;] only with different names. We need to install the app, add an app instance, and the app objects, the names of these can be found in the [https://wiki.innovaphone.com/index.php?title=Howto:IFrame_-_MediaRunway_-_3rd_Party_Product#Configuration &amp;quot;Configuration&amp;quot;] area of this article.&lt;br /&gt;
&lt;br /&gt;
What you need is this Wiki article and a valid license. For a valid license please install the app and in the admin area of the app you will find the authentication key. Please send us this authentication key, together with the number of users and the desired license period to [mailto:myApps-sales@mediarunway.com myApps-sales@mediarunway.com].&lt;br /&gt;
&lt;br /&gt;
==Versions==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If not present or outdated innovaphone FW is used, no certificate will be given at all --&amp;gt;&lt;br /&gt;
* MediaRunway Doorbell 1.0 (132xxx sr13)&lt;br /&gt;
&lt;br /&gt;
===Compatible innovaphone firmware versions===&lt;br /&gt;
&amp;lt;!-- List compatible major innovaphone firmware versions. Several listings are valid --&amp;gt;&lt;br /&gt;
* MediaRunway Doorbell  1.0 (132xxx sr13)&lt;br /&gt;
** innovaphone V13r2, V13r3, V14r1&lt;br /&gt;
&lt;br /&gt;
===Application versions used for interop testing===&lt;br /&gt;
&amp;lt;!-- Give used versions for testing of both innovaphone and 3rd-pty product --&amp;gt;&lt;br /&gt;
&amp;lt;!-- replace 3rd-Pty-Application by real name --&amp;gt;&lt;br /&gt;
* MediaRunway Doorbell 1.0 (132xxx sr13)&lt;br /&gt;
&amp;lt;!-- adjust tested innovaphone FW --&amp;gt;&lt;br /&gt;
** innovaphone IPVA V13r2sr13&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt; &lt;br /&gt;
&amp;lt;!-- Describe configuration steps to be done for both innovaphone and 3rd-pty application --&amp;gt;&lt;br /&gt;
&amp;lt;!-- We recommend to add a link to your website providing this information or alternatively provide a PDF-formatted config document. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- List the config steps by adding text &amp;amp; pictures --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Name used APIs to be activated in ap-objects --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If not present, no certificate will be given at all --&amp;gt;&lt;br /&gt;
&amp;lt;!-- in any case you must be aware of the fact that any questions concerning configuration issues will be directly forwarded by innovaphone to you as manufacturer --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt; &lt;br /&gt;
&amp;lt;!-- Describe configuration steps to be done for both innovaphone and 3rd-pty application --&amp;gt;&lt;br /&gt;
&amp;lt;!-- We recommend to add a link to your website providing this information or alternatively provide a PDF-formatted config document. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- List the config steps by adding text &amp;amp; pictures --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Name used APIs to be activated in ap-objects --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If not present, no certificate will be given at all --&amp;gt;&lt;br /&gt;
&amp;lt;!-- in any case you must be aware of the fact that any questions concerning configuration issues will be directly forwarded by innovaphone to you as manufacturer --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The steps of the installation process are the same as described in this article [https://wiki.innovaphone.com/index.php?title=Howto:Callback_-_mediarunway_-_3rd_Party_Product#Install_app_from_App_Store &amp;quot;Callback - Install App from App Store&amp;quot;] only with different names. We need to install the app, add an app instance, and the app objects.&lt;br /&gt;
&lt;br /&gt;
Important: after deplyoing the app to the user, the user has to reload myApps to get the video-popup&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Give contact details for potential interests and support. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You may give personal or general contact data or refer to external contact page --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| MediaRunway GmbH &amp;amp; Co. KG&lt;br /&gt;
|-&lt;br /&gt;
| Venloer Str. 8&lt;br /&gt;
|-&lt;br /&gt;
| D-41569 Rommerskirchen&lt;br /&gt;
|-&lt;br /&gt;
| Tel: +49 2183 80628-0&lt;br /&gt;
|-&lt;br /&gt;
| Mail: [mailto:myApps-sales@mediarunway.com myApps-sales@mediarunway.com]&lt;br /&gt;
|-&lt;br /&gt;
| Support: [mailto:myApps-support@mediarunway.com myApps-support@mediarunway.com]&lt;br /&gt;
|-&lt;br /&gt;
| Website: [https://www.mediarunway.com/ MediaRunway.com]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For any questions please refer to [https://mediarunway.com/contact/ our contact page].&lt;/div&gt;</summary>
		<author><name>Achim.klix</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54182</id>
		<title>Reference13r1:Concept Number Resolution and LDAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54182"/>
		<updated>2019-11-12T13:52:12Z</updated>

		<summary type="html">&lt;p&gt;Achim.klix: /* C4B */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
This document shows the V13 concept of number resolution, LDAP search and reverse lookup.&lt;br /&gt;
&lt;br /&gt;
== Applies to ==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* V13 and up&lt;br /&gt;
&lt;br /&gt;
= Short overview and scenarios =&lt;br /&gt;
There are basically two different directions for resolutions:&lt;br /&gt;
&lt;br /&gt;
* Number to Name (Reverse Lookup)&lt;br /&gt;
:Backward resolutions are performed centrally for calls on the PBX-level calls. A [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]] can be stored per PBX.&lt;br /&gt;
:By default, this is a 1-to-1 relationship (a single PBX can query an single LDAP source).&lt;br /&gt;
&lt;br /&gt;
* Name to Number (Forward Search)&lt;br /&gt;
:Forward search differs between software and hardware:&lt;br /&gt;
:* myApps&lt;br /&gt;
::1-to-n relationship. A user can search simultaneously in multiple sources&lt;br /&gt;
:* Desk phone&lt;br /&gt;
::Search can be done according to the LDAP configuration in the [[Reference13r1:Phone/User/Directories|external directories]] settings of the user object.&lt;br /&gt;
&lt;br /&gt;
=Number to Name (Reverse Lookup)=&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
Resolution is done at the PBX for incoming calls without any embedded display name information according to the locally define reverse lookup setting. This might be different for master and slaves.&lt;br /&gt;
&lt;br /&gt;
Resolution is done by LDAP-queries against sources like the PBX phonebook itself, V13-contacts application or any external 3rd-pty directory.&lt;br /&gt;
&lt;br /&gt;
Setup is done via the &#039;&#039;Reverse Lookup URL&#039;&#039; which is configured under [[Reference13r1:PBX/Config/General|PBX/Config/General]].&amp;lt;br&amp;gt;&lt;br /&gt;
If a resolution succeeds via this mechanism, the resolved name is given to all other applications/locations. (MyApps, Phones (also DECT), CDRs, Reporting, eg.)&lt;br /&gt;
&lt;br /&gt;
== PBX Configuration ==&lt;br /&gt;
&lt;br /&gt;
If you want to use the central PBX Reverse Lookup you can use one of the following examples for your [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]].&amp;lt;br&amp;gt;&lt;br /&gt;
Otherwise, you can use any other LDAP Server that you want. The URL is an [https://tools.ietf.org/html/rfc2255 RFC2255] encoded string. The format is explained [[Reference13r1:PBX/Config/General|here]]&lt;br /&gt;
&lt;br /&gt;
Following prerequisites apply:&lt;br /&gt;
&lt;br /&gt;
=== Prefix section ===&lt;br /&gt;
&lt;br /&gt;
Depending on the PBX setup (flat or nodes) prefixes are defined either in the general PBX config and/or in the node/pbx-objects.&lt;br /&gt;
Only the &amp;quot;deepest&amp;quot; definition is taken into account for number conversion/adaption. In case of empty prefixes, no higher-leveled definitions are taken into account.&lt;br /&gt;
&lt;br /&gt;
E.g. if the called pbx-user is located within a node, the prefix definition of this node is used for number normalisation. If those node prefixes are empty, no other prefixes in e.g. PBX-general are used.&lt;br /&gt;
&lt;br /&gt;
In general, prefix definition may contain prefixes for&lt;br /&gt;
* International (INT)&lt;br /&gt;
* National (NTL)&lt;br /&gt;
* Subscriber (SUB)&lt;br /&gt;
* Area Code (AC)&lt;br /&gt;
* Country Code (CC)&lt;br /&gt;
&lt;br /&gt;
Usage and definition depend on the country specific number plan.&lt;br /&gt;
&lt;br /&gt;
The PBX tries to format the incoming number (CGPN) by performing a match against the prefixes in left to right order. In case of any prefix field is empty, the next one will be investigated. &lt;br /&gt;
&lt;br /&gt;
Following rules apply upon prefix match:&lt;br /&gt;
* INT prefix matches: remove INT prefix&lt;br /&gt;
* NTL prefix matches: remove NTL prefix, prepend CC&lt;br /&gt;
* SUB prefix matches: remove SUB prefix, prepend CC + AC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) German mobile call (best practice pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobile number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 49171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) German mobile call (missing pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobil number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): none&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 00171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) German city call (typically ISDN, SIP-CGPNs are always signaled in international format)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0123456 (0 Trunk + local subscriber number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 497031123456 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Spain national call (no SUB)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0925123456 (0 Trunk + national number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/0//912/34&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 925123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== URL definition ===&lt;br /&gt;
&lt;br /&gt;
In general, reverse lookup uses the above created result after number conversion with prefixes.&lt;br /&gt;
Depending on the use phone book source, the reverse lookup URL might look different.&lt;br /&gt;
The number handed over to those source needs to be adapted by use of following variables:&lt;br /&gt;
&lt;br /&gt;
* %n - cgpn&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;+xyz&amp;quot;, leading &amp;quot;+&amp;quot; may be prepended by using this notation: &#039;+%n&#039;&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;00xyz&amp;quot;, leading &amp;quot;00&amp;quot; may be prepended by using this notation: &#039;00%n&#039;&lt;br /&gt;
* %u - h323 name of the current object. Used to change the relationship of the searchbase to the user. A specific LDAP source can be requested depending of the user which receive the call.&lt;br /&gt;
&lt;br /&gt;
==== Contacts App ====&lt;br /&gt;
&lt;br /&gt;
 ldaps://ap.domain.tld/dc=entries?givenname,sn,company?sub?(metaSearchNumber=+%n)?bindname=domain.de\contacts&lt;br /&gt;
&lt;br /&gt;
Contacts is asked by further instances (e.g. PhoneAPP) for details about the found contact via websocket query.&lt;br /&gt;
&lt;br /&gt;
==== Estos MetaDir ====&lt;br /&gt;
&lt;br /&gt;
 ldap://metadir.domain.tld:712/dc=meta?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=username&lt;br /&gt;
&lt;br /&gt;
==== C4B ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ldap://vdir.domain.tld:712/vdir=VDir?givenName,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))&lt;br /&gt;
&lt;br /&gt;
==== Active Directory ====&lt;br /&gt;
&lt;br /&gt;
 ldap://domain.tld:389/OU=tld,OU=company,DC=city,DC=LOCAL?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=domain\username&lt;br /&gt;
&lt;br /&gt;
==== PBX as LDAP Server ====&lt;br /&gt;
&lt;br /&gt;
This refers to the legacy [[Howto:Maintaining a Phone Directory in the PBX| PBX-directory solution]].&lt;br /&gt;
&lt;br /&gt;
 ldap://ldap.domain.tld/cn=PBX0?dn,e164,email?sub?(&amp;amp;(node=PhoneBook)(e164=000%n))?bindname=telbook&lt;br /&gt;
&lt;br /&gt;
== Legacy Device Configuration ==&lt;br /&gt;
&lt;br /&gt;
By default, reverse number lookup is done at the PBX and displayed at the phone. Phone originated directories such as internal phone book, pbx access and external ldap are disabled.&lt;br /&gt;
&lt;br /&gt;
Optionally, it is possible to enable the resolution directly at the phone. This is done by unticking the [[Reference13r1:Phone/User/Preferences | option &amp;quot;Disable Phonenumber Look-up&amp;quot;]] at Phone/User/Preferences.&lt;br /&gt;
&lt;br /&gt;
The phone will then use the directory settings of the appropriate user, which are defined in the user object or config template.&lt;br /&gt;
&lt;br /&gt;
If the resolution on the local phone provides a result, this is shown instead of the resolution of the PBX.&lt;br /&gt;
&lt;br /&gt;
Be aware that this might lead to a different result than displayed on the PhoneAPP/SoftphoneAPP/CallList etc. as these applications always resolve against PBX-located settings.&lt;br /&gt;
&lt;br /&gt;
=Name to Number (Forward Search)= &lt;br /&gt;
Search can be done by use of various sources. Those may be&lt;br /&gt;
* PBX itself (UsersApp)&lt;br /&gt;
* included ContactsApp&lt;br /&gt;
* any other external directories&lt;br /&gt;
&lt;br /&gt;
== UsersApp ==&lt;br /&gt;
All PBX users can be searched via the UsersApp.&lt;br /&gt;
&lt;br /&gt;
== ContactsApp ==&lt;br /&gt;
Further, contacts can be managed and searched within the [[Course13:IT_Connect_-_09.0_Contacts|ContactsApp]].&lt;br /&gt;
&lt;br /&gt;
It is possible to define several contact instances hosting different contact data and assign those to dedicated users/config template.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
Configure LDAP query with Contacts e.g. at phone:&lt;br /&gt;
* use of the correct user incl. domain (e.g. domain.tld\contacts)&lt;br /&gt;
* Correct password (in plain text in PBXManager/APContacts/configuration)&lt;br /&gt;
* Search attributes:&lt;br /&gt;
** Meta Name Attributes -&amp;gt; metaSearchText&lt;br /&gt;
** Meta Number Attributes -&amp;gt; metaSearchNumber&lt;br /&gt;
&lt;br /&gt;
== PhoneApp / SoftphoneApp / myPBX ==&lt;br /&gt;
Search requests can be done via dedicated directory applications such as UsersAPP or ContactsAPP or within the Phone/SoftphoneAPP and also myPBX.&lt;br /&gt;
&lt;br /&gt;
Search requests are performed towards multiple sources in parallel if assigned to the respective user.&lt;br /&gt;
&lt;br /&gt;
User objects and configuration templates offer possibility to define search against the PBX and one external source. In case of more external sources are required (e.g. Contacts and C4B), an LDAP-object has to be defined and assigned to the user.&lt;br /&gt;
&lt;br /&gt;
=== LDAP Object ===&lt;br /&gt;
To extend the amount of external search sources you can use the LDAP Object in the PBX.&lt;br /&gt;
&lt;br /&gt;
To be defined depending on the external source attributes [[Reference13r1:PBX/Objects/LDAP|according to this description]].&lt;br /&gt;
&lt;br /&gt;
LDAP object has to be assigned via App-tab to dedicated user / configuration template.&lt;br /&gt;
&lt;br /&gt;
== Outlook ==&lt;br /&gt;
* Works with myAPPs windows launcher and so Windows compliant only&lt;br /&gt;
* Outlook Search will find contacts in all exchange accounts and all contact folders from these accounts&lt;br /&gt;
* requires a configured MAPI profile in Outlook (Exchange Account)&lt;br /&gt;
&lt;br /&gt;
== Hardware Phone ==&lt;br /&gt;
Search on the hardware phone is done by use of the [[Reference13r1:Phone/User/Directories|configured directories]] at the phone.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Reverse Lookup doesn&#039;t work on SIP Trunk ==&lt;br /&gt;
Reverse Lookups are only executed for incoming calls without any embedded display name information. Some SIP provider will send the phone number as additional &#039;&#039;Display Name&#039;&#039; Information. In this case the Reverse Lookup will not be performed.&amp;lt;br&amp;gt;&lt;br /&gt;
This additional carrier information can be removed within the routing by deactivating the flag &amp;quot;[[Reference12r2:Gateway/Routes/Map|Interworking (QSIG,SIP)]]&amp;quot; in the incoming SIP route.&lt;br /&gt;
&lt;br /&gt;
== MyAPPs - Forward Search with LDAP Object ==&lt;br /&gt;
&lt;br /&gt;
In case of non-working search request to a configured LdapApp-object, one can search in the myapps traces and crosscheck for related responses.&lt;br /&gt;
&lt;br /&gt;
In the following example an LdapApp-object exists with the Name &amp;quot;MetaDir&amp;quot; and is configured as App to the User who searches for &amp;quot;jon doe&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 // search pattern is &amp;quot;jon doe&amp;quot;&lt;br /&gt;
 PhoneSearchBar::onSearchInputChange() input=jon doe&lt;br /&gt;
&lt;br /&gt;
One can see the following lines in myAPPs-trace:&lt;br /&gt;
&lt;br /&gt;
 // start connection and login &lt;br /&gt;
 open &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; url=http://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api.htm? &lt;br /&gt;
 name=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;title=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;scheme=dark&amp;amp;lang=de&amp;amp;originalUrl=http%3A%2F%2Fpbx.domain.de%2FPBX0%2FAPPS%2FMetaDir%2Fldap_api&lt;br /&gt;
 started: &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; (hidden)&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 send: {&amp;quot;mt&amp;quot;:&amp;quot;AppLogin&amp;quot;,&amp;quot;app&amp;quot;:&amp;quot;ldap_api&amp;quot;,&amp;quot;domain&amp;quot;:&amp;quot;domain.de&amp;quot;,&amp;quot;sip&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;guid&amp;quot;:&amp;quot;e9653d7a7a615901b5b300155dbb1337&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;info&amp;quot;:{&amp;quot;appobj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;,&amp;quot;appurl&amp;quot;:&amp;quot;../../APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api&amp;quot;,&amp;quot;cn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;unlicensed&amp;quot;:true,&amp;quot;groups&amp;quot;:[&amp;quot;test&amp;quot;]},&amp;quot;digest&amp;quot;:&amp;quot;***&amp;quot;,&amp;quot;pbxObj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // Login successful and Search API is registered&lt;br /&gt;
 recv: {&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;&amp;quot;mt&amp;quot;:&amp;quot;AppLoginResult&amp;quot;,&amp;quot;ok&amp;quot;:true&amp;lt;/span&amp;gt;}&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;RegisterApi&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // send search request to LDAP APP&lt;br /&gt;
 send to &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465440&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;Search&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;search&amp;quot;:&amp;quot;jon doe&amp;quot;}}&lt;br /&gt;
 &lt;br /&gt;
 // receive result from LDAP App&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465449&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;SearchInfo&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;Jon Doe&amp;quot;,&amp;quot;contact&amp;quot;:{&amp;quot;cn&amp;quot;:&amp;quot;John Doe&amp;quot;,&amp;quot;givenname&amp;quot;:&amp;quot;John&amp;quot;,&amp;quot;sn&amp;quot;:&amp;quot;Doe&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;Company&amp;quot;,&amp;quot;street&amp;quot;:&amp;quot;street 123&amp;quot;,&amp;quot;postalcode&amp;quot;:&amp;quot;12345&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;city&amp;quot;,&amp;quot;telephonenumber&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;homephone&amp;quot;:[],&amp;quot;mobile&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;sip&amp;quot;:[],&amp;quot;email&amp;quot;:[&amp;quot;john.doe@domain.de&amp;quot;]}}}&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
* [[Reference13r1:PBX/Config/General]]&lt;br /&gt;
* [[Reference13r1:PBX/Objects/LDAP]]&lt;br /&gt;
* [[Reference13r1:Phone/User/Directories]]&lt;br /&gt;
* [[Reference13r1:Concept_App_Contacts]]&lt;/div&gt;</summary>
		<author><name>Achim.klix</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54181</id>
		<title>Reference13r1:Concept Number Resolution and LDAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54181"/>
		<updated>2019-11-12T13:51:56Z</updated>

		<summary type="html">&lt;p&gt;Achim.klix: /* C4B */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
This document shows the V13 concept of number resolution, LDAP search and reverse lookup.&lt;br /&gt;
&lt;br /&gt;
== Applies to ==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* V13 and up&lt;br /&gt;
&lt;br /&gt;
= Short overview and scenarios =&lt;br /&gt;
There are basically two different directions for resolutions:&lt;br /&gt;
&lt;br /&gt;
* Number to Name (Reverse Lookup)&lt;br /&gt;
:Backward resolutions are performed centrally for calls on the PBX-level calls. A [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]] can be stored per PBX.&lt;br /&gt;
:By default, this is a 1-to-1 relationship (a single PBX can query an single LDAP source).&lt;br /&gt;
&lt;br /&gt;
* Name to Number (Forward Search)&lt;br /&gt;
:Forward search differs between software and hardware:&lt;br /&gt;
:* myApps&lt;br /&gt;
::1-to-n relationship. A user can search simultaneously in multiple sources&lt;br /&gt;
:* Desk phone&lt;br /&gt;
::Search can be done according to the LDAP configuration in the [[Reference13r1:Phone/User/Directories|external directories]] settings of the user object.&lt;br /&gt;
&lt;br /&gt;
=Number to Name (Reverse Lookup)=&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
Resolution is done at the PBX for incoming calls without any embedded display name information according to the locally define reverse lookup setting. This might be different for master and slaves.&lt;br /&gt;
&lt;br /&gt;
Resolution is done by LDAP-queries against sources like the PBX phonebook itself, V13-contacts application or any external 3rd-pty directory.&lt;br /&gt;
&lt;br /&gt;
Setup is done via the &#039;&#039;Reverse Lookup URL&#039;&#039; which is configured under [[Reference13r1:PBX/Config/General|PBX/Config/General]].&amp;lt;br&amp;gt;&lt;br /&gt;
If a resolution succeeds via this mechanism, the resolved name is given to all other applications/locations. (MyApps, Phones (also DECT), CDRs, Reporting, eg.)&lt;br /&gt;
&lt;br /&gt;
== PBX Configuration ==&lt;br /&gt;
&lt;br /&gt;
If you want to use the central PBX Reverse Lookup you can use one of the following examples for your [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]].&amp;lt;br&amp;gt;&lt;br /&gt;
Otherwise, you can use any other LDAP Server that you want. The URL is an [https://tools.ietf.org/html/rfc2255 RFC2255] encoded string. The format is explained [[Reference13r1:PBX/Config/General|here]]&lt;br /&gt;
&lt;br /&gt;
Following prerequisites apply:&lt;br /&gt;
&lt;br /&gt;
=== Prefix section ===&lt;br /&gt;
&lt;br /&gt;
Depending on the PBX setup (flat or nodes) prefixes are defined either in the general PBX config and/or in the node/pbx-objects.&lt;br /&gt;
Only the &amp;quot;deepest&amp;quot; definition is taken into account for number conversion/adaption. In case of empty prefixes, no higher-leveled definitions are taken into account.&lt;br /&gt;
&lt;br /&gt;
E.g. if the called pbx-user is located within a node, the prefix definition of this node is used for number normalisation. If those node prefixes are empty, no other prefixes in e.g. PBX-general are used.&lt;br /&gt;
&lt;br /&gt;
In general, prefix definition may contain prefixes for&lt;br /&gt;
* International (INT)&lt;br /&gt;
* National (NTL)&lt;br /&gt;
* Subscriber (SUB)&lt;br /&gt;
* Area Code (AC)&lt;br /&gt;
* Country Code (CC)&lt;br /&gt;
&lt;br /&gt;
Usage and definition depend on the country specific number plan.&lt;br /&gt;
&lt;br /&gt;
The PBX tries to format the incoming number (CGPN) by performing a match against the prefixes in left to right order. In case of any prefix field is empty, the next one will be investigated. &lt;br /&gt;
&lt;br /&gt;
Following rules apply upon prefix match:&lt;br /&gt;
* INT prefix matches: remove INT prefix&lt;br /&gt;
* NTL prefix matches: remove NTL prefix, prepend CC&lt;br /&gt;
* SUB prefix matches: remove SUB prefix, prepend CC + AC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) German mobile call (best practice pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobile number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 49171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) German mobile call (missing pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobil number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): none&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 00171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) German city call (typically ISDN, SIP-CGPNs are always signaled in international format)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0123456 (0 Trunk + local subscriber number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 497031123456 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Spain national call (no SUB)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0925123456 (0 Trunk + national number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/0//912/34&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 925123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== URL definition ===&lt;br /&gt;
&lt;br /&gt;
In general, reverse lookup uses the above created result after number conversion with prefixes.&lt;br /&gt;
Depending on the use phone book source, the reverse lookup URL might look different.&lt;br /&gt;
The number handed over to those source needs to be adapted by use of following variables:&lt;br /&gt;
&lt;br /&gt;
* %n - cgpn&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;+xyz&amp;quot;, leading &amp;quot;+&amp;quot; may be prepended by using this notation: &#039;+%n&#039;&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;00xyz&amp;quot;, leading &amp;quot;00&amp;quot; may be prepended by using this notation: &#039;00%n&#039;&lt;br /&gt;
* %u - h323 name of the current object. Used to change the relationship of the searchbase to the user. A specific LDAP source can be requested depending of the user which receive the call.&lt;br /&gt;
&lt;br /&gt;
==== Contacts App ====&lt;br /&gt;
&lt;br /&gt;
 ldaps://ap.domain.tld/dc=entries?givenname,sn,company?sub?(metaSearchNumber=+%n)?bindname=domain.de\contacts&lt;br /&gt;
&lt;br /&gt;
Contacts is asked by further instances (e.g. PhoneAPP) for details about the found contact via websocket query.&lt;br /&gt;
&lt;br /&gt;
==== Estos MetaDir ====&lt;br /&gt;
&lt;br /&gt;
 ldap://metadir.domain.tld:712/dc=meta?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=username&lt;br /&gt;
&lt;br /&gt;
==== C4B ====&lt;br /&gt;
&lt;br /&gt;
 tested with anonymous request: &lt;br /&gt;
 ldap://vdir.domain.tld:712/vdir=VDir?givenName,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))&lt;br /&gt;
&lt;br /&gt;
==== Active Directory ====&lt;br /&gt;
&lt;br /&gt;
 ldap://domain.tld:389/OU=tld,OU=company,DC=city,DC=LOCAL?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=domain\username&lt;br /&gt;
&lt;br /&gt;
==== PBX as LDAP Server ====&lt;br /&gt;
&lt;br /&gt;
This refers to the legacy [[Howto:Maintaining a Phone Directory in the PBX| PBX-directory solution]].&lt;br /&gt;
&lt;br /&gt;
 ldap://ldap.domain.tld/cn=PBX0?dn,e164,email?sub?(&amp;amp;(node=PhoneBook)(e164=000%n))?bindname=telbook&lt;br /&gt;
&lt;br /&gt;
== Legacy Device Configuration ==&lt;br /&gt;
&lt;br /&gt;
By default, reverse number lookup is done at the PBX and displayed at the phone. Phone originated directories such as internal phone book, pbx access and external ldap are disabled.&lt;br /&gt;
&lt;br /&gt;
Optionally, it is possible to enable the resolution directly at the phone. This is done by unticking the [[Reference13r1:Phone/User/Preferences | option &amp;quot;Disable Phonenumber Look-up&amp;quot;]] at Phone/User/Preferences.&lt;br /&gt;
&lt;br /&gt;
The phone will then use the directory settings of the appropriate user, which are defined in the user object or config template.&lt;br /&gt;
&lt;br /&gt;
If the resolution on the local phone provides a result, this is shown instead of the resolution of the PBX.&lt;br /&gt;
&lt;br /&gt;
Be aware that this might lead to a different result than displayed on the PhoneAPP/SoftphoneAPP/CallList etc. as these applications always resolve against PBX-located settings.&lt;br /&gt;
&lt;br /&gt;
=Name to Number (Forward Search)= &lt;br /&gt;
Search can be done by use of various sources. Those may be&lt;br /&gt;
* PBX itself (UsersApp)&lt;br /&gt;
* included ContactsApp&lt;br /&gt;
* any other external directories&lt;br /&gt;
&lt;br /&gt;
== UsersApp ==&lt;br /&gt;
All PBX users can be searched via the UsersApp.&lt;br /&gt;
&lt;br /&gt;
== ContactsApp ==&lt;br /&gt;
Further, contacts can be managed and searched within the [[Course13:IT_Connect_-_09.0_Contacts|ContactsApp]].&lt;br /&gt;
&lt;br /&gt;
It is possible to define several contact instances hosting different contact data and assign those to dedicated users/config template.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
Configure LDAP query with Contacts e.g. at phone:&lt;br /&gt;
* use of the correct user incl. domain (e.g. domain.tld\contacts)&lt;br /&gt;
* Correct password (in plain text in PBXManager/APContacts/configuration)&lt;br /&gt;
* Search attributes:&lt;br /&gt;
** Meta Name Attributes -&amp;gt; metaSearchText&lt;br /&gt;
** Meta Number Attributes -&amp;gt; metaSearchNumber&lt;br /&gt;
&lt;br /&gt;
== PhoneApp / SoftphoneApp / myPBX ==&lt;br /&gt;
Search requests can be done via dedicated directory applications such as UsersAPP or ContactsAPP or within the Phone/SoftphoneAPP and also myPBX.&lt;br /&gt;
&lt;br /&gt;
Search requests are performed towards multiple sources in parallel if assigned to the respective user.&lt;br /&gt;
&lt;br /&gt;
User objects and configuration templates offer possibility to define search against the PBX and one external source. In case of more external sources are required (e.g. Contacts and C4B), an LDAP-object has to be defined and assigned to the user.&lt;br /&gt;
&lt;br /&gt;
=== LDAP Object ===&lt;br /&gt;
To extend the amount of external search sources you can use the LDAP Object in the PBX.&lt;br /&gt;
&lt;br /&gt;
To be defined depending on the external source attributes [[Reference13r1:PBX/Objects/LDAP|according to this description]].&lt;br /&gt;
&lt;br /&gt;
LDAP object has to be assigned via App-tab to dedicated user / configuration template.&lt;br /&gt;
&lt;br /&gt;
== Outlook ==&lt;br /&gt;
* Works with myAPPs windows launcher and so Windows compliant only&lt;br /&gt;
* Outlook Search will find contacts in all exchange accounts and all contact folders from these accounts&lt;br /&gt;
* requires a configured MAPI profile in Outlook (Exchange Account)&lt;br /&gt;
&lt;br /&gt;
== Hardware Phone ==&lt;br /&gt;
Search on the hardware phone is done by use of the [[Reference13r1:Phone/User/Directories|configured directories]] at the phone.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Reverse Lookup doesn&#039;t work on SIP Trunk ==&lt;br /&gt;
Reverse Lookups are only executed for incoming calls without any embedded display name information. Some SIP provider will send the phone number as additional &#039;&#039;Display Name&#039;&#039; Information. In this case the Reverse Lookup will not be performed.&amp;lt;br&amp;gt;&lt;br /&gt;
This additional carrier information can be removed within the routing by deactivating the flag &amp;quot;[[Reference12r2:Gateway/Routes/Map|Interworking (QSIG,SIP)]]&amp;quot; in the incoming SIP route.&lt;br /&gt;
&lt;br /&gt;
== MyAPPs - Forward Search with LDAP Object ==&lt;br /&gt;
&lt;br /&gt;
In case of non-working search request to a configured LdapApp-object, one can search in the myapps traces and crosscheck for related responses.&lt;br /&gt;
&lt;br /&gt;
In the following example an LdapApp-object exists with the Name &amp;quot;MetaDir&amp;quot; and is configured as App to the User who searches for &amp;quot;jon doe&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 // search pattern is &amp;quot;jon doe&amp;quot;&lt;br /&gt;
 PhoneSearchBar::onSearchInputChange() input=jon doe&lt;br /&gt;
&lt;br /&gt;
One can see the following lines in myAPPs-trace:&lt;br /&gt;
&lt;br /&gt;
 // start connection and login &lt;br /&gt;
 open &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; url=http://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api.htm? &lt;br /&gt;
 name=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;title=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;scheme=dark&amp;amp;lang=de&amp;amp;originalUrl=http%3A%2F%2Fpbx.domain.de%2FPBX0%2FAPPS%2FMetaDir%2Fldap_api&lt;br /&gt;
 started: &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; (hidden)&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 send: {&amp;quot;mt&amp;quot;:&amp;quot;AppLogin&amp;quot;,&amp;quot;app&amp;quot;:&amp;quot;ldap_api&amp;quot;,&amp;quot;domain&amp;quot;:&amp;quot;domain.de&amp;quot;,&amp;quot;sip&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;guid&amp;quot;:&amp;quot;e9653d7a7a615901b5b300155dbb1337&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;info&amp;quot;:{&amp;quot;appobj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;,&amp;quot;appurl&amp;quot;:&amp;quot;../../APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api&amp;quot;,&amp;quot;cn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;unlicensed&amp;quot;:true,&amp;quot;groups&amp;quot;:[&amp;quot;test&amp;quot;]},&amp;quot;digest&amp;quot;:&amp;quot;***&amp;quot;,&amp;quot;pbxObj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // Login successful and Search API is registered&lt;br /&gt;
 recv: {&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;&amp;quot;mt&amp;quot;:&amp;quot;AppLoginResult&amp;quot;,&amp;quot;ok&amp;quot;:true&amp;lt;/span&amp;gt;}&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;RegisterApi&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // send search request to LDAP APP&lt;br /&gt;
 send to &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465440&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;Search&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;search&amp;quot;:&amp;quot;jon doe&amp;quot;}}&lt;br /&gt;
 &lt;br /&gt;
 // receive result from LDAP App&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465449&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;SearchInfo&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;Jon Doe&amp;quot;,&amp;quot;contact&amp;quot;:{&amp;quot;cn&amp;quot;:&amp;quot;John Doe&amp;quot;,&amp;quot;givenname&amp;quot;:&amp;quot;John&amp;quot;,&amp;quot;sn&amp;quot;:&amp;quot;Doe&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;Company&amp;quot;,&amp;quot;street&amp;quot;:&amp;quot;street 123&amp;quot;,&amp;quot;postalcode&amp;quot;:&amp;quot;12345&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;city&amp;quot;,&amp;quot;telephonenumber&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;homephone&amp;quot;:[],&amp;quot;mobile&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;sip&amp;quot;:[],&amp;quot;email&amp;quot;:[&amp;quot;john.doe@domain.de&amp;quot;]}}}&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
* [[Reference13r1:PBX/Config/General]]&lt;br /&gt;
* [[Reference13r1:PBX/Objects/LDAP]]&lt;br /&gt;
* [[Reference13r1:Phone/User/Directories]]&lt;br /&gt;
* [[Reference13r1:Concept_App_Contacts]]&lt;/div&gt;</summary>
		<author><name>Achim.klix</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54180</id>
		<title>Reference13r1:Concept Number Resolution and LDAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54180"/>
		<updated>2019-11-12T13:50:19Z</updated>

		<summary type="html">&lt;p&gt;Achim.klix: /* C4B */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
This document shows the V13 concept of number resolution, LDAP search and reverse lookup.&lt;br /&gt;
&lt;br /&gt;
== Applies to ==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* V13 and up&lt;br /&gt;
&lt;br /&gt;
= Short overview and scenarios =&lt;br /&gt;
There are basically two different directions for resolutions:&lt;br /&gt;
&lt;br /&gt;
* Number to Name (Reverse Lookup)&lt;br /&gt;
:Backward resolutions are performed centrally for calls on the PBX-level calls. A [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]] can be stored per PBX.&lt;br /&gt;
:By default, this is a 1-to-1 relationship (a single PBX can query an single LDAP source).&lt;br /&gt;
&lt;br /&gt;
* Name to Number (Forward Search)&lt;br /&gt;
:Forward search differs between software and hardware:&lt;br /&gt;
:* myApps&lt;br /&gt;
::1-to-n relationship. A user can search simultaneously in multiple sources&lt;br /&gt;
:* Desk phone&lt;br /&gt;
::Search can be done according to the LDAP configuration in the [[Reference13r1:Phone/User/Directories|external directories]] settings of the user object.&lt;br /&gt;
&lt;br /&gt;
=Number to Name (Reverse Lookup)=&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
Resolution is done at the PBX for incoming calls without any embedded display name information according to the locally define reverse lookup setting. This might be different for master and slaves.&lt;br /&gt;
&lt;br /&gt;
Resolution is done by LDAP-queries against sources like the PBX phonebook itself, V13-contacts application or any external 3rd-pty directory.&lt;br /&gt;
&lt;br /&gt;
Setup is done via the &#039;&#039;Reverse Lookup URL&#039;&#039; which is configured under [[Reference13r1:PBX/Config/General|PBX/Config/General]].&amp;lt;br&amp;gt;&lt;br /&gt;
If a resolution succeeds via this mechanism, the resolved name is given to all other applications/locations. (MyApps, Phones (also DECT), CDRs, Reporting, eg.)&lt;br /&gt;
&lt;br /&gt;
== PBX Configuration ==&lt;br /&gt;
&lt;br /&gt;
If you want to use the central PBX Reverse Lookup you can use one of the following examples for your [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]].&amp;lt;br&amp;gt;&lt;br /&gt;
Otherwise, you can use any other LDAP Server that you want. The URL is an [https://tools.ietf.org/html/rfc2255 RFC2255] encoded string. The format is explained [[Reference13r1:PBX/Config/General|here]]&lt;br /&gt;
&lt;br /&gt;
Following prerequisites apply:&lt;br /&gt;
&lt;br /&gt;
=== Prefix section ===&lt;br /&gt;
&lt;br /&gt;
Depending on the PBX setup (flat or nodes) prefixes are defined either in the general PBX config and/or in the node/pbx-objects.&lt;br /&gt;
Only the &amp;quot;deepest&amp;quot; definition is taken into account for number conversion/adaption. In case of empty prefixes, no higher-leveled definitions are taken into account.&lt;br /&gt;
&lt;br /&gt;
E.g. if the called pbx-user is located within a node, the prefix definition of this node is used for number normalisation. If those node prefixes are empty, no other prefixes in e.g. PBX-general are used.&lt;br /&gt;
&lt;br /&gt;
In general, prefix definition may contain prefixes for&lt;br /&gt;
* International (INT)&lt;br /&gt;
* National (NTL)&lt;br /&gt;
* Subscriber (SUB)&lt;br /&gt;
* Area Code (AC)&lt;br /&gt;
* Country Code (CC)&lt;br /&gt;
&lt;br /&gt;
Usage and definition depend on the country specific number plan.&lt;br /&gt;
&lt;br /&gt;
The PBX tries to format the incoming number (CGPN) by performing a match against the prefixes in left to right order. In case of any prefix field is empty, the next one will be investigated. &lt;br /&gt;
&lt;br /&gt;
Following rules apply upon prefix match:&lt;br /&gt;
* INT prefix matches: remove INT prefix&lt;br /&gt;
* NTL prefix matches: remove NTL prefix, prepend CC&lt;br /&gt;
* SUB prefix matches: remove SUB prefix, prepend CC + AC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) German mobile call (best practice pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobile number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 49171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) German mobile call (missing pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobil number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): none&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 00171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) German city call (typically ISDN, SIP-CGPNs are always signaled in international format)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0123456 (0 Trunk + local subscriber number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 497031123456 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Spain national call (no SUB)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0925123456 (0 Trunk + national number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/0//912/34&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 925123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== URL definition ===&lt;br /&gt;
&lt;br /&gt;
In general, reverse lookup uses the above created result after number conversion with prefixes.&lt;br /&gt;
Depending on the use phone book source, the reverse lookup URL might look different.&lt;br /&gt;
The number handed over to those source needs to be adapted by use of following variables:&lt;br /&gt;
&lt;br /&gt;
* %n - cgpn&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;+xyz&amp;quot;, leading &amp;quot;+&amp;quot; may be prepended by using this notation: &#039;+%n&#039;&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;00xyz&amp;quot;, leading &amp;quot;00&amp;quot; may be prepended by using this notation: &#039;00%n&#039;&lt;br /&gt;
* %u - h323 name of the current object. Used to change the relationship of the searchbase to the user. A specific LDAP source can be requested depending of the user which receive the call.&lt;br /&gt;
&lt;br /&gt;
==== Contacts App ====&lt;br /&gt;
&lt;br /&gt;
 ldaps://ap.domain.tld/dc=entries?givenname,sn,company?sub?(metaSearchNumber=+%n)?bindname=domain.de\contacts&lt;br /&gt;
&lt;br /&gt;
Contacts is asked by further instances (e.g. PhoneAPP) for details about the found contact via websocket query.&lt;br /&gt;
&lt;br /&gt;
==== Estos MetaDir ====&lt;br /&gt;
&lt;br /&gt;
 ldap://metadir.domain.tld:712/dc=meta?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=username&lt;br /&gt;
&lt;br /&gt;
==== C4B ====&lt;br /&gt;
&lt;br /&gt;
 tested with anonymous request: &lt;br /&gt;
 ldap://ip-vdir-server:712/vdir=VDir?givenName,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))&lt;br /&gt;
&lt;br /&gt;
==== Active Directory ====&lt;br /&gt;
&lt;br /&gt;
 ldap://domain.tld:389/OU=tld,OU=company,DC=city,DC=LOCAL?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=domain\username&lt;br /&gt;
&lt;br /&gt;
==== PBX as LDAP Server ====&lt;br /&gt;
&lt;br /&gt;
This refers to the legacy [[Howto:Maintaining a Phone Directory in the PBX| PBX-directory solution]].&lt;br /&gt;
&lt;br /&gt;
 ldap://ldap.domain.tld/cn=PBX0?dn,e164,email?sub?(&amp;amp;(node=PhoneBook)(e164=000%n))?bindname=telbook&lt;br /&gt;
&lt;br /&gt;
== Legacy Device Configuration ==&lt;br /&gt;
&lt;br /&gt;
By default, reverse number lookup is done at the PBX and displayed at the phone. Phone originated directories such as internal phone book, pbx access and external ldap are disabled.&lt;br /&gt;
&lt;br /&gt;
Optionally, it is possible to enable the resolution directly at the phone. This is done by unticking the [[Reference13r1:Phone/User/Preferences | option &amp;quot;Disable Phonenumber Look-up&amp;quot;]] at Phone/User/Preferences.&lt;br /&gt;
&lt;br /&gt;
The phone will then use the directory settings of the appropriate user, which are defined in the user object or config template.&lt;br /&gt;
&lt;br /&gt;
If the resolution on the local phone provides a result, this is shown instead of the resolution of the PBX.&lt;br /&gt;
&lt;br /&gt;
Be aware that this might lead to a different result than displayed on the PhoneAPP/SoftphoneAPP/CallList etc. as these applications always resolve against PBX-located settings.&lt;br /&gt;
&lt;br /&gt;
=Name to Number (Forward Search)= &lt;br /&gt;
Search can be done by use of various sources. Those may be&lt;br /&gt;
* PBX itself (UsersApp)&lt;br /&gt;
* included ContactsApp&lt;br /&gt;
* any other external directories&lt;br /&gt;
&lt;br /&gt;
== UsersApp ==&lt;br /&gt;
All PBX users can be searched via the UsersApp.&lt;br /&gt;
&lt;br /&gt;
== ContactsApp ==&lt;br /&gt;
Further, contacts can be managed and searched within the [[Course13:IT_Connect_-_09.0_Contacts|ContactsApp]].&lt;br /&gt;
&lt;br /&gt;
It is possible to define several contact instances hosting different contact data and assign those to dedicated users/config template.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
Configure LDAP query with Contacts e.g. at phone:&lt;br /&gt;
* use of the correct user incl. domain (e.g. domain.tld\contacts)&lt;br /&gt;
* Correct password (in plain text in PBXManager/APContacts/configuration)&lt;br /&gt;
* Search attributes:&lt;br /&gt;
** Meta Name Attributes -&amp;gt; metaSearchText&lt;br /&gt;
** Meta Number Attributes -&amp;gt; metaSearchNumber&lt;br /&gt;
&lt;br /&gt;
== PhoneApp / SoftphoneApp / myPBX ==&lt;br /&gt;
Search requests can be done via dedicated directory applications such as UsersAPP or ContactsAPP or within the Phone/SoftphoneAPP and also myPBX.&lt;br /&gt;
&lt;br /&gt;
Search requests are performed towards multiple sources in parallel if assigned to the respective user.&lt;br /&gt;
&lt;br /&gt;
User objects and configuration templates offer possibility to define search against the PBX and one external source. In case of more external sources are required (e.g. Contacts and C4B), an LDAP-object has to be defined and assigned to the user.&lt;br /&gt;
&lt;br /&gt;
=== LDAP Object ===&lt;br /&gt;
To extend the amount of external search sources you can use the LDAP Object in the PBX.&lt;br /&gt;
&lt;br /&gt;
To be defined depending on the external source attributes [[Reference13r1:PBX/Objects/LDAP|according to this description]].&lt;br /&gt;
&lt;br /&gt;
LDAP object has to be assigned via App-tab to dedicated user / configuration template.&lt;br /&gt;
&lt;br /&gt;
== Outlook ==&lt;br /&gt;
* Works with myAPPs windows launcher and so Windows compliant only&lt;br /&gt;
* Outlook Search will find contacts in all exchange accounts and all contact folders from these accounts&lt;br /&gt;
* requires a configured MAPI profile in Outlook (Exchange Account)&lt;br /&gt;
&lt;br /&gt;
== Hardware Phone ==&lt;br /&gt;
Search on the hardware phone is done by use of the [[Reference13r1:Phone/User/Directories|configured directories]] at the phone.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Reverse Lookup doesn&#039;t work on SIP Trunk ==&lt;br /&gt;
Reverse Lookups are only executed for incoming calls without any embedded display name information. Some SIP provider will send the phone number as additional &#039;&#039;Display Name&#039;&#039; Information. In this case the Reverse Lookup will not be performed.&amp;lt;br&amp;gt;&lt;br /&gt;
This additional carrier information can be removed within the routing by deactivating the flag &amp;quot;[[Reference12r2:Gateway/Routes/Map|Interworking (QSIG,SIP)]]&amp;quot; in the incoming SIP route.&lt;br /&gt;
&lt;br /&gt;
== MyAPPs - Forward Search with LDAP Object ==&lt;br /&gt;
&lt;br /&gt;
In case of non-working search request to a configured LdapApp-object, one can search in the myapps traces and crosscheck for related responses.&lt;br /&gt;
&lt;br /&gt;
In the following example an LdapApp-object exists with the Name &amp;quot;MetaDir&amp;quot; and is configured as App to the User who searches for &amp;quot;jon doe&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 // search pattern is &amp;quot;jon doe&amp;quot;&lt;br /&gt;
 PhoneSearchBar::onSearchInputChange() input=jon doe&lt;br /&gt;
&lt;br /&gt;
One can see the following lines in myAPPs-trace:&lt;br /&gt;
&lt;br /&gt;
 // start connection and login &lt;br /&gt;
 open &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; url=http://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api.htm? &lt;br /&gt;
 name=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;title=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;scheme=dark&amp;amp;lang=de&amp;amp;originalUrl=http%3A%2F%2Fpbx.domain.de%2FPBX0%2FAPPS%2FMetaDir%2Fldap_api&lt;br /&gt;
 started: &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; (hidden)&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 send: {&amp;quot;mt&amp;quot;:&amp;quot;AppLogin&amp;quot;,&amp;quot;app&amp;quot;:&amp;quot;ldap_api&amp;quot;,&amp;quot;domain&amp;quot;:&amp;quot;domain.de&amp;quot;,&amp;quot;sip&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;guid&amp;quot;:&amp;quot;e9653d7a7a615901b5b300155dbb1337&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;info&amp;quot;:{&amp;quot;appobj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;,&amp;quot;appurl&amp;quot;:&amp;quot;../../APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api&amp;quot;,&amp;quot;cn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;unlicensed&amp;quot;:true,&amp;quot;groups&amp;quot;:[&amp;quot;test&amp;quot;]},&amp;quot;digest&amp;quot;:&amp;quot;***&amp;quot;,&amp;quot;pbxObj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // Login successful and Search API is registered&lt;br /&gt;
 recv: {&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;&amp;quot;mt&amp;quot;:&amp;quot;AppLoginResult&amp;quot;,&amp;quot;ok&amp;quot;:true&amp;lt;/span&amp;gt;}&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;RegisterApi&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // send search request to LDAP APP&lt;br /&gt;
 send to &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465440&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;Search&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;search&amp;quot;:&amp;quot;jon doe&amp;quot;}}&lt;br /&gt;
 &lt;br /&gt;
 // receive result from LDAP App&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465449&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;SearchInfo&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;Jon Doe&amp;quot;,&amp;quot;contact&amp;quot;:{&amp;quot;cn&amp;quot;:&amp;quot;John Doe&amp;quot;,&amp;quot;givenname&amp;quot;:&amp;quot;John&amp;quot;,&amp;quot;sn&amp;quot;:&amp;quot;Doe&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;Company&amp;quot;,&amp;quot;street&amp;quot;:&amp;quot;street 123&amp;quot;,&amp;quot;postalcode&amp;quot;:&amp;quot;12345&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;city&amp;quot;,&amp;quot;telephonenumber&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;homephone&amp;quot;:[],&amp;quot;mobile&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;sip&amp;quot;:[],&amp;quot;email&amp;quot;:[&amp;quot;john.doe@domain.de&amp;quot;]}}}&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
* [[Reference13r1:PBX/Config/General]]&lt;br /&gt;
* [[Reference13r1:PBX/Objects/LDAP]]&lt;br /&gt;
* [[Reference13r1:Phone/User/Directories]]&lt;br /&gt;
* [[Reference13r1:Concept_App_Contacts]]&lt;/div&gt;</summary>
		<author><name>Achim.klix</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54179</id>
		<title>Reference13r1:Concept Number Resolution and LDAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_Number_Resolution_and_LDAP&amp;diff=54179"/>
		<updated>2019-11-12T13:50:06Z</updated>

		<summary type="html">&lt;p&gt;Achim.klix: /* C4B */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
This document shows the V13 concept of number resolution, LDAP search and reverse lookup.&lt;br /&gt;
&lt;br /&gt;
== Applies to ==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* V13 and up&lt;br /&gt;
&lt;br /&gt;
= Short overview and scenarios =&lt;br /&gt;
There are basically two different directions for resolutions:&lt;br /&gt;
&lt;br /&gt;
* Number to Name (Reverse Lookup)&lt;br /&gt;
:Backward resolutions are performed centrally for calls on the PBX-level calls. A [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]] can be stored per PBX.&lt;br /&gt;
:By default, this is a 1-to-1 relationship (a single PBX can query an single LDAP source).&lt;br /&gt;
&lt;br /&gt;
* Name to Number (Forward Search)&lt;br /&gt;
:Forward search differs between software and hardware:&lt;br /&gt;
:* myApps&lt;br /&gt;
::1-to-n relationship. A user can search simultaneously in multiple sources&lt;br /&gt;
:* Desk phone&lt;br /&gt;
::Search can be done according to the LDAP configuration in the [[Reference13r1:Phone/User/Directories|external directories]] settings of the user object.&lt;br /&gt;
&lt;br /&gt;
=Number to Name (Reverse Lookup)=&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
Resolution is done at the PBX for incoming calls without any embedded display name information according to the locally define reverse lookup setting. This might be different for master and slaves.&lt;br /&gt;
&lt;br /&gt;
Resolution is done by LDAP-queries against sources like the PBX phonebook itself, V13-contacts application or any external 3rd-pty directory.&lt;br /&gt;
&lt;br /&gt;
Setup is done via the &#039;&#039;Reverse Lookup URL&#039;&#039; which is configured under [[Reference13r1:PBX/Config/General|PBX/Config/General]].&amp;lt;br&amp;gt;&lt;br /&gt;
If a resolution succeeds via this mechanism, the resolved name is given to all other applications/locations. (MyApps, Phones (also DECT), CDRs, Reporting, eg.)&lt;br /&gt;
&lt;br /&gt;
== PBX Configuration ==&lt;br /&gt;
&lt;br /&gt;
If you want to use the central PBX Reverse Lookup you can use one of the following examples for your [[Reference13r1:PBX/Config/General|&#039;&#039;Reverse Lookup URL&#039;&#039;]].&amp;lt;br&amp;gt;&lt;br /&gt;
Otherwise, you can use any other LDAP Server that you want. The URL is an [https://tools.ietf.org/html/rfc2255 RFC2255] encoded string. The format is explained [[Reference13r1:PBX/Config/General|here]]&lt;br /&gt;
&lt;br /&gt;
Following prerequisites apply:&lt;br /&gt;
&lt;br /&gt;
=== Prefix section ===&lt;br /&gt;
&lt;br /&gt;
Depending on the PBX setup (flat or nodes) prefixes are defined either in the general PBX config and/or in the node/pbx-objects.&lt;br /&gt;
Only the &amp;quot;deepest&amp;quot; definition is taken into account for number conversion/adaption. In case of empty prefixes, no higher-leveled definitions are taken into account.&lt;br /&gt;
&lt;br /&gt;
E.g. if the called pbx-user is located within a node, the prefix definition of this node is used for number normalisation. If those node prefixes are empty, no other prefixes in e.g. PBX-general are used.&lt;br /&gt;
&lt;br /&gt;
In general, prefix definition may contain prefixes for&lt;br /&gt;
* International (INT)&lt;br /&gt;
* National (NTL)&lt;br /&gt;
* Subscriber (SUB)&lt;br /&gt;
* Area Code (AC)&lt;br /&gt;
* Country Code (CC)&lt;br /&gt;
&lt;br /&gt;
Usage and definition depend on the country specific number plan.&lt;br /&gt;
&lt;br /&gt;
The PBX tries to format the incoming number (CGPN) by performing a match against the prefixes in left to right order. In case of any prefix field is empty, the next one will be investigated. &lt;br /&gt;
&lt;br /&gt;
Following rules apply upon prefix match:&lt;br /&gt;
* INT prefix matches: remove INT prefix&lt;br /&gt;
* NTL prefix matches: remove NTL prefix, prepend CC&lt;br /&gt;
* SUB prefix matches: remove SUB prefix, prepend CC + AC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) German mobile call (best practice pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobile number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 49171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) German mobile call (missing pbx config)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 00171123456 (0 Trunk + mobil number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): none&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 00171123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) German city call (typically ISDN, SIP-CGPNs are always signaled in international format)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0123456 (0 Trunk + local subscriber number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/00/0/7031/49&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 497031123456 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Spain national call (no SUB)&amp;lt;br&amp;gt;&lt;br /&gt;
:CGPN: 0925123456 (0 Trunk + national number)&amp;lt;br&amp;gt;&lt;br /&gt;
:PBX Prefixes (INT/NTL/SUB/AC/CC): 000/0//912/34&amp;lt;br&amp;gt;&lt;br /&gt;
:Result: 925123456&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== URL definition ===&lt;br /&gt;
&lt;br /&gt;
In general, reverse lookup uses the above created result after number conversion with prefixes.&lt;br /&gt;
Depending on the use phone book source, the reverse lookup URL might look different.&lt;br /&gt;
The number handed over to those source needs to be adapted by use of following variables:&lt;br /&gt;
&lt;br /&gt;
* %n - cgpn&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;+xyz&amp;quot;, leading &amp;quot;+&amp;quot; may be prepended by using this notation: &#039;+%n&#039;&lt;br /&gt;
** if phone book entries are stored in international format with &amp;quot;00xyz&amp;quot;, leading &amp;quot;00&amp;quot; may be prepended by using this notation: &#039;00%n&#039;&lt;br /&gt;
* %u - h323 name of the current object. Used to change the relationship of the searchbase to the user. A specific LDAP source can be requested depending of the user which receive the call.&lt;br /&gt;
&lt;br /&gt;
==== Contacts App ====&lt;br /&gt;
&lt;br /&gt;
 ldaps://ap.domain.tld/dc=entries?givenname,sn,company?sub?(metaSearchNumber=+%n)?bindname=domain.de\contacts&lt;br /&gt;
&lt;br /&gt;
Contacts is asked by further instances (e.g. PhoneAPP) for details about the found contact via websocket query.&lt;br /&gt;
&lt;br /&gt;
==== Estos MetaDir ====&lt;br /&gt;
&lt;br /&gt;
 ldap://metadir.domain.tld:712/dc=meta?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=username&lt;br /&gt;
&lt;br /&gt;
==== C4B ====&lt;br /&gt;
&lt;br /&gt;
 tested with anonymous request: &lt;br /&gt;
 ldap://ip-vir-server:712/vdir=VDir?givenName,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))&lt;br /&gt;
&lt;br /&gt;
==== Active Directory ====&lt;br /&gt;
&lt;br /&gt;
 ldap://domain.tld:389/OU=tld,OU=company,DC=city,DC=LOCAL?givenname,sn,company?sub?(|(telephoneNumber=+%n)(mobile=+%n)(homePhone=+%n))?bindname=domain\username&lt;br /&gt;
&lt;br /&gt;
==== PBX as LDAP Server ====&lt;br /&gt;
&lt;br /&gt;
This refers to the legacy [[Howto:Maintaining a Phone Directory in the PBX| PBX-directory solution]].&lt;br /&gt;
&lt;br /&gt;
 ldap://ldap.domain.tld/cn=PBX0?dn,e164,email?sub?(&amp;amp;(node=PhoneBook)(e164=000%n))?bindname=telbook&lt;br /&gt;
&lt;br /&gt;
== Legacy Device Configuration ==&lt;br /&gt;
&lt;br /&gt;
By default, reverse number lookup is done at the PBX and displayed at the phone. Phone originated directories such as internal phone book, pbx access and external ldap are disabled.&lt;br /&gt;
&lt;br /&gt;
Optionally, it is possible to enable the resolution directly at the phone. This is done by unticking the [[Reference13r1:Phone/User/Preferences | option &amp;quot;Disable Phonenumber Look-up&amp;quot;]] at Phone/User/Preferences.&lt;br /&gt;
&lt;br /&gt;
The phone will then use the directory settings of the appropriate user, which are defined in the user object or config template.&lt;br /&gt;
&lt;br /&gt;
If the resolution on the local phone provides a result, this is shown instead of the resolution of the PBX.&lt;br /&gt;
&lt;br /&gt;
Be aware that this might lead to a different result than displayed on the PhoneAPP/SoftphoneAPP/CallList etc. as these applications always resolve against PBX-located settings.&lt;br /&gt;
&lt;br /&gt;
=Name to Number (Forward Search)= &lt;br /&gt;
Search can be done by use of various sources. Those may be&lt;br /&gt;
* PBX itself (UsersApp)&lt;br /&gt;
* included ContactsApp&lt;br /&gt;
* any other external directories&lt;br /&gt;
&lt;br /&gt;
== UsersApp ==&lt;br /&gt;
All PBX users can be searched via the UsersApp.&lt;br /&gt;
&lt;br /&gt;
== ContactsApp ==&lt;br /&gt;
Further, contacts can be managed and searched within the [[Course13:IT_Connect_-_09.0_Contacts|ContactsApp]].&lt;br /&gt;
&lt;br /&gt;
It is possible to define several contact instances hosting different contact data and assign those to dedicated users/config template.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
Configure LDAP query with Contacts e.g. at phone:&lt;br /&gt;
* use of the correct user incl. domain (e.g. domain.tld\contacts)&lt;br /&gt;
* Correct password (in plain text in PBXManager/APContacts/configuration)&lt;br /&gt;
* Search attributes:&lt;br /&gt;
** Meta Name Attributes -&amp;gt; metaSearchText&lt;br /&gt;
** Meta Number Attributes -&amp;gt; metaSearchNumber&lt;br /&gt;
&lt;br /&gt;
== PhoneApp / SoftphoneApp / myPBX ==&lt;br /&gt;
Search requests can be done via dedicated directory applications such as UsersAPP or ContactsAPP or within the Phone/SoftphoneAPP and also myPBX.&lt;br /&gt;
&lt;br /&gt;
Search requests are performed towards multiple sources in parallel if assigned to the respective user.&lt;br /&gt;
&lt;br /&gt;
User objects and configuration templates offer possibility to define search against the PBX and one external source. In case of more external sources are required (e.g. Contacts and C4B), an LDAP-object has to be defined and assigned to the user.&lt;br /&gt;
&lt;br /&gt;
=== LDAP Object ===&lt;br /&gt;
To extend the amount of external search sources you can use the LDAP Object in the PBX.&lt;br /&gt;
&lt;br /&gt;
To be defined depending on the external source attributes [[Reference13r1:PBX/Objects/LDAP|according to this description]].&lt;br /&gt;
&lt;br /&gt;
LDAP object has to be assigned via App-tab to dedicated user / configuration template.&lt;br /&gt;
&lt;br /&gt;
== Outlook ==&lt;br /&gt;
* Works with myAPPs windows launcher and so Windows compliant only&lt;br /&gt;
* Outlook Search will find contacts in all exchange accounts and all contact folders from these accounts&lt;br /&gt;
* requires a configured MAPI profile in Outlook (Exchange Account)&lt;br /&gt;
&lt;br /&gt;
== Hardware Phone ==&lt;br /&gt;
Search on the hardware phone is done by use of the [[Reference13r1:Phone/User/Directories|configured directories]] at the phone.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Reverse Lookup doesn&#039;t work on SIP Trunk ==&lt;br /&gt;
Reverse Lookups are only executed for incoming calls without any embedded display name information. Some SIP provider will send the phone number as additional &#039;&#039;Display Name&#039;&#039; Information. In this case the Reverse Lookup will not be performed.&amp;lt;br&amp;gt;&lt;br /&gt;
This additional carrier information can be removed within the routing by deactivating the flag &amp;quot;[[Reference12r2:Gateway/Routes/Map|Interworking (QSIG,SIP)]]&amp;quot; in the incoming SIP route.&lt;br /&gt;
&lt;br /&gt;
== MyAPPs - Forward Search with LDAP Object ==&lt;br /&gt;
&lt;br /&gt;
In case of non-working search request to a configured LdapApp-object, one can search in the myapps traces and crosscheck for related responses.&lt;br /&gt;
&lt;br /&gt;
In the following example an LdapApp-object exists with the Name &amp;quot;MetaDir&amp;quot; and is configured as App to the User who searches for &amp;quot;jon doe&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 // search pattern is &amp;quot;jon doe&amp;quot;&lt;br /&gt;
 PhoneSearchBar::onSearchInputChange() input=jon doe&lt;br /&gt;
&lt;br /&gt;
One can see the following lines in myAPPs-trace:&lt;br /&gt;
&lt;br /&gt;
 // start connection and login &lt;br /&gt;
 open &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; url=http://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api.htm? &lt;br /&gt;
 name=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;title=&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;amp;scheme=dark&amp;amp;lang=de&amp;amp;originalUrl=http%3A%2F%2Fpbx.domain.de%2FPBX0%2FAPPS%2FMetaDir%2Fldap_api&lt;br /&gt;
 started: &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt; (hidden)&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 AppWebsocket(&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;) ws://localhost:10008/appproxy/ext/pbx.domain.de/PBX0/APPS/MetaDir/132075/websocket&lt;br /&gt;
 send: {&amp;quot;mt&amp;quot;:&amp;quot;AppLogin&amp;quot;,&amp;quot;app&amp;quot;:&amp;quot;ldap_api&amp;quot;,&amp;quot;domain&amp;quot;:&amp;quot;domain.de&amp;quot;,&amp;quot;sip&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;guid&amp;quot;:&amp;quot;e9653d7a7a615901b5b300155dbb1337&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;info&amp;quot;:{&amp;quot;appobj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;,&amp;quot;appurl&amp;quot;:&amp;quot;../../APPS/&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;/ldap_api&amp;quot;,&amp;quot;cn&amp;quot;:&amp;quot;slutz&amp;quot;,&amp;quot;unlicensed&amp;quot;:true,&amp;quot;groups&amp;quot;:[&amp;quot;test&amp;quot;]},&amp;quot;digest&amp;quot;:&amp;quot;***&amp;quot;,&amp;quot;pbxObj&amp;quot;:&amp;quot;&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // Login successful and Search API is registered&lt;br /&gt;
 recv: {&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;&amp;quot;mt&amp;quot;:&amp;quot;AppLoginResult&amp;quot;,&amp;quot;ok&amp;quot;:true&amp;lt;/span&amp;gt;}&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;RegisterApi&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 // send search request to LDAP APP&lt;br /&gt;
 send to &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465440&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;Search&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;search&amp;quot;:&amp;quot;jon doe&amp;quot;}}&lt;br /&gt;
 &lt;br /&gt;
 // receive result from LDAP App&lt;br /&gt;
 recv from &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;MetaDir&amp;lt;/span&amp;gt;: {&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:009033465449&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;SearchInfo&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;dn&amp;quot;:&amp;quot;Jon Doe&amp;quot;,&amp;quot;contact&amp;quot;:{&amp;quot;cn&amp;quot;:&amp;quot;John Doe&amp;quot;,&amp;quot;givenname&amp;quot;:&amp;quot;John&amp;quot;,&amp;quot;sn&amp;quot;:&amp;quot;Doe&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;Company&amp;quot;,&amp;quot;street&amp;quot;:&amp;quot;street 123&amp;quot;,&amp;quot;postalcode&amp;quot;:&amp;quot;12345&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;city&amp;quot;,&amp;quot;telephonenumber&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;homephone&amp;quot;:[],&amp;quot;mobile&amp;quot;:[&amp;quot;+49123456789&amp;quot;],&amp;quot;sip&amp;quot;:[],&amp;quot;email&amp;quot;:[&amp;quot;john.doe@domain.de&amp;quot;]}}}&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
* [[Reference13r1:PBX/Config/General]]&lt;br /&gt;
* [[Reference13r1:PBX/Objects/LDAP]]&lt;br /&gt;
* [[Reference13r1:Phone/User/Directories]]&lt;br /&gt;
* [[Reference13r1:Concept_App_Contacts]]&lt;/div&gt;</summary>
		<author><name>Achim.klix</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:PBX/Config/General&amp;diff=48787</id>
		<title>Reference12r1:PBX/Config/General</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:PBX/Config/General&amp;diff=48787"/>
		<updated>2017-12-08T10:56:42Z</updated>

		<summary type="html">&lt;p&gt;Achim.klix: /* Common */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The fundamental operating modes of the PBX are configured on this page. &lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Common ===&lt;br /&gt;
&lt;br /&gt;
;PBX Mode: The PBX operating mode&lt;br /&gt;
:* &#039;&#039;&#039;Off&#039;&#039;&#039; - The PBX is disabled. After enabling the PBX a browser refresh is needed to activate additional PBX webpages.&lt;br /&gt;
:* &#039;&#039;&#039;Master&#039;&#039;&#039; - The PBX on this device acts as Master. Within a multisite installation exactly one PBX must be configured as Master.&lt;br /&gt;
:* &#039;&#039;&#039;Slave&#039;&#039;&#039; - The PBX on this device acts as Slave. Within a multisite installation several PBXes can be configured as Slave.&lt;br /&gt;
:* &#039;&#039;&#039;Standby&#039;&#039;&#039; - The PBX on this device acts as Standby for the Master. As long as the master is available, this PBX is  not active, but just monitors the Master. If the Master is not available this PBX is active.&lt;br /&gt;
:* &#039;&#039;&#039;Standby-Slave&#039;&#039;&#039; - The PBX on this device acts as Standby for a Slave. As long as the slave is available, this PBX is  not active, but just monitors the slave. If the slave is not available this PBX is active.&lt;br /&gt;
&lt;br /&gt;
;System Name: The system Name. On all PBX within a multisite installation the same System Name must be configured. For H.323 endpoints this name is the gatekeeper identifier, for SIP endpoints it is the server name.&lt;br /&gt;
&lt;br /&gt;
;Use as Domain: Uses the &#039;&#039;System Name&#039;&#039; as domain name, together with the name field in the user object the PBX constructs the email address (used for sending emails out ox myPBX). This mechanism is also used for Federation, to federate with other domains.&lt;br /&gt;
&lt;br /&gt;
;PBX Name: The name of the PBX on this device. With this name a PBX is associated to a node. The field &#039;Name&#039; (not Long Name) of a PBX Node object relates to this name.&lt;br /&gt;
&lt;br /&gt;
;DNS: DNS Name of the PBX. If configured this will be used for myPBX redirects if a client tries to register at a PBX on which the user is not configured.&lt;br /&gt;
&lt;br /&gt;
;Unknown Registrations: If this checkmark is set, the PBX accepts &#039;unknown&#039; registrations. This means registrations with no matching object configured. If from an endpoint registered in this way a number of an object is dialed, which has no registration active and no &#039;HW-ID&#039; configured the name used for the registration is configured as &#039;HW-ID&#039; of this object. This is an easy way to deploy large numbers of phones.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;With PBX Pwd only:&#039;&#039;&#039; If checked only registrations with a PBX authentication or a verfiied certificate in case of H.323/TLS are accepted. In this case either &amp;quot;PBX Pwd&amp;quot; or &amp;quot;TLS only&amp;quot; is set in a device generated.&lt;br /&gt;
&lt;br /&gt;
;Reverse Proxy Addresses: Up to 8 addresses (no DNS names allowed) can be entered in this field, seperated by comma. Registrations from one of these addresses are assumed to be routed thru a Reverse Proxy. &lt;br /&gt;
: &#039;&#039;&#039;Assume TLS&#039;&#039;&#039;: If the &#039;&#039;Assume TLS&#039;&#039; checkmark is set, it is assumed, that the reverse Proxy did a successful check of the TLS certificate against the registration name.&lt;br /&gt;
&lt;br /&gt;
;Music On Hold URL: A URL for the Music On Hold. This file is read by the PBX using HTTP and sent to a held endpoint via RTP. The format of this URL is&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/&amp;lt;file&amp;gt;.$coder?coder=opus-wb,g722,g711a,g711u,g729,g723&amp;amp;repeat=true&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;. &amp;lt;addr&amp;gt; is the IP address of the http server, no dns name is allowed here. &amp;lt;file&amp;gt; is the filename. $coder will be replaced by the actual coder used.&lt;br /&gt;
&lt;br /&gt;
:Parameters: &#039;&#039;coder=opus-wb,g722,g711a,g711u,g729,g723&#039;&#039; is the list of available coders. Only these coders must be specified for which a corresponding file exists. &#039;&#039;repeat=true&#039;&#039; should be specified in order to loop the file endlessly. &#039;&#039;random=true&#039;&#039; can be used to start the music on hold on a random point (this will work only if the URL is not local though).&lt;br /&gt;
&lt;br /&gt;
:By default the built-in Music-On-Hold is played (Pseudo URL: &amp;quot;MOH?coder=g729,g711a,g723&amp;amp;repeat=true&amp;quot;).  You can also play a dial tone (Pseudo URL &amp;quot;TONE&amp;quot;) or a ring-back tone (Pseudo URL &amp;quot;TONE?tone=ringback&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
:If you configure a wrong (or invalid) URL then you will have silence as MOH. To prevent this situation when the MoH for some specific context/user(see below) is missing and silence is played instead of any MoH, an additional parameter &#039;&#039;fallback=true&#039;&#039; is available. If the file provided in the URL is missing (HTTP Error 404 Not Found is delivered by the HTTP Server) and the parameter &#039;&#039;fallback&#039;&#039; is provided, the default MoH will be played instead of silence. To use a custom file as fallback MoH, instead of default MoH, any file name can be provided with the &#039;&#039;fallback&#039;&#039; parameter: e.g. &#039;&#039;fallback=other_filename&#039;&#039;. The file other_filename.g7xx must be placed in the same folder as a file provided with URL. A special filename &#039;&#039;fallback=ringback&#039;&#039; can be used to generate a ringback tone (equivalent to &#039;&#039;TONE?tone=ringback&#039;&#039;) instead to play an alternative file.&lt;br /&gt;
&lt;br /&gt;
:Within the URL %&amp;lt;id&amp;gt; can be used to put in some context information of the call. The information refers to the party which has put the receiving party on hold. For information about the receiving party itself, the id has to be preceded by &#039;.&#039; (e.g. &#039;&#039;&#039;.l&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;l&#039;&#039;&#039; Long Name&lt;br /&gt;
:&#039;&#039;&#039;h&#039;&#039;&#039; Name (H.323 id)&lt;br /&gt;
:&#039;&#039;&#039;n&#039;&#039;&#039; Number&lt;br /&gt;
:&#039;&#039;&#039;N&#039;&#039;&#039; Node&lt;br /&gt;
:&#039;&#039;&#039;P&#039;&#039;&#039; PBX&lt;br /&gt;
:&#039;&#039;&#039;d&#039;&#039;&#039; Diverting Name&lt;br /&gt;
:&#039;&#039;&#039;#d&#039;&#039;&#039; Diverting Number&lt;br /&gt;
&lt;br /&gt;
;External Music On Hold: To offload the device from playing the Music on hold, the Music On Hold can be played by a separate device. This device can register with a name configured here. To retrieve the Music On Hold a call is sent to this device. For each held endpoint a call is sent.&lt;br /&gt;
&lt;br /&gt;
;Response Timeout: Global timeout (in seconds) after which any action for no response is taken (e.g. Call Forward on No Response). A timeout configured at any object overrides this value.&lt;br /&gt;
&lt;br /&gt;
;Dial Complete Timeout: Global timeout (in seconds) after which any action for incomplete dialed number is taken (e.g. incomplete destination at trunk object).&lt;br /&gt;
&lt;br /&gt;
;No. of Regs w/o Pwd: Number of registration without password authentication which are allowed per user. If 0 is configured no registration without password is possible.&lt;br /&gt;
Pls. note that registrations from 127.0.0.1 w/o password will be accepted anyway&lt;br /&gt;
&lt;br /&gt;
;Recall Timeout: A value configured here enables recall after transfer. If a call is transferred and not answered within this time, the call is sent back to the transferring endpoint.&lt;br /&gt;
&lt;br /&gt;
;Max Call Duration (h): Number of hours until a call with media is disconnected automatically. Affects all calls with initialized media channels signalled via PBX.&lt;br /&gt;
&lt;br /&gt;
;Max WebRTC calls: Sets the max. amount of concurrent WebRTC calls. &#039;&#039;Usage: x (max y)&#039;&#039; The counters &#039;&#039;x&#039;&#039; and &#039;&#039;y&#039;&#039; show the current amount of WebRTC calls respectively the max. amount of concurrent calls, measured since the last reboot of the PBX.&lt;br /&gt;
&lt;br /&gt;
;Group Default Visibility: Allows to restrict default visibility to active group members. If changed active subscriptions are not affected. Is used to prevent standard users from getting access to sensitive information like activities/presences of group members in myPBX. If not generally allowed by the administrator via this setting, normal users are not able to change it via myPBX.&lt;br /&gt;
&lt;br /&gt;
;Pickup Prefix V7: In V7, the pickup prefix is obsolete. Please use the pbx object [[:Reference7:Administration/PBX/Objects/DTMF Features|DTMF Featurecodes]].&lt;br /&gt;
&lt;br /&gt;
;Presence with Alert: Enable presentation of presence on phone upon alert. Setting applies for all PBX users. Alternatively, display of presence subject only delivered by Exchange can be prohibited - see [[Reference10:Concept_Exchange_Calendar_Connector#Exchange|Exchange Calendar Connector : Omit Subject]]&lt;br /&gt;
&lt;br /&gt;
;Enable External Transfer: Unless this checkbox is set any attempt to transfer an external call back to an external destination will result in disconnection of the call.&lt;br /&gt;
&lt;br /&gt;
;No CLIR on Internal calls: If checked numbers are displayed even if received with presentation restricted. When sending a call presentation restricted can still be set and should be honored by a public network.&lt;br /&gt;
&lt;br /&gt;
;Media Relay:&lt;br /&gt;
:;Off: No Media Relay is done in the PBX &lt;br /&gt;
:;On: All media traffic is routed through the PBX.  With the &#039;&#039;&#039;No Media Relay if Addresses are identical or private&#039;&#039;&#039; checkmark, this is not done if the two call endpoints registration addresses are either private or equal (i.e. external endpoints behind the same NAT router).  To identify an address as private the &amp;quot;Private Networks&amp;quot; configuration from &#039;&#039;IP4/General/Settings&#039;&#039; is used.&lt;br /&gt;
:;Auto: Media traffic is routed through the PBX if calls are between private and public registration addresses but not for calls between private and private or public and public registration addresses. To identify an address as private the &amp;quot;Private Networks&amp;quot; configuration from &#039;&#039;IP4/General/Settings&#039;&#039; is used. In v11 this was the behaviour if &#039;RTP Proxy&#039;&#039; was &#039;&#039;on&#039;&#039;.&lt;br /&gt;
: Please note that when media relay is in effect for a call,  &#039;&#039;&#039;video is not working&#039;&#039;&#039;.   With ICE (available from v12r1), media relay in the PBX should be obsolete except for special applications.  Check &#039;&#039;On&#039;&#039; or &#039;&#039;Auto&#039;&#039; only if you need to have this, since it creates CPU load on the PBX.&lt;br /&gt;
&lt;br /&gt;
;Generate CDRs: If this checkbox is set, the PBX generates CDRs for all calls. See [[Reference9:Concept_Call_Detail_Record_CDR_PBX]] for a description of the CDRs.&lt;br /&gt;
&lt;br /&gt;
;Route Root-Node External Calls to: Destination object (Long Name) of Root-Node external calls. This configuration option is available on the Master or Standby PBX only. Any call call which cannot be terminated inside the PBX is sent to this destination as long as neither the source nor the destination of the call can be associated with a node with a PBX configured. This object must be assigned to this PBX.&lt;br /&gt;
:&#039;&#039;&#039;For calls from local PBX only&#039;&#039;&#039;: If set on a master, calls from a slave are not sent to this destination but sent back to the slave where the call came from. On the slave the call is then sent to a destination configured with &#039;Route Root-Node External Calls to&#039;.&lt;br /&gt;
&lt;br /&gt;
;Route PBX-Node External Calls to: Destination object (Long Name) of PBX-Node external calls. Any call which cannot be terminated inside the PBX is sent to this destination as long as the source nor the destination of the call can be associated with the node of this PBX. If a call is sent from or to an object defined inside the node of this PBX or in a node hierarchically below the node of this PBX the call is associated to the node of this PBX. This object must be assigned to this PBX, that is, it has to register to this PBX.&lt;br /&gt;
&lt;br /&gt;
;Route Internal Calls to: Destination object (Long Name) to which any call is sent for which a PBX internal destination was found, except for those calls that originated from that object. This can be used to apply special routing on PBX internal calls.&lt;br /&gt;
&lt;br /&gt;
;Escape Dialtone from: The PBX object (Long Name) to which a call is made to get a dialtone if a dialtone is configured for the escape of a node. As above, this object must be assigned to this PBX.&lt;br /&gt;
&lt;br /&gt;
;Prefix for Intl/Ntl/Subscriber: Prefixes to be used to map International, National and Subscriber numbers. For example to send from the faxserver in the case that the received mail contains the number in international format, e.g. +49123456578@faxserver.local&lt;br /&gt;
:* &#039;&#039;&#039;International Prefix&#039;&#039;&#039; (&amp;lt;code&amp;gt;000&amp;lt;/code&amp;gt; in Germany).&lt;br /&gt;
:* &#039;&#039;&#039;National Prefix&#039;&#039;&#039; (&amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt; in Germany).&lt;br /&gt;
:* &#039;&#039;&#039;Subscriber Numbers&#039;&#039;&#039; (in Germany, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is a commonly used trunk line access code).&lt;br /&gt;
&lt;br /&gt;
;Tones: The tones scheme to be used for PBX generated dialtones. This applies to dialtones generated for node prefixes, ringback on transfer and some more.&lt;br /&gt;
&lt;br /&gt;
=== Slave PBX ===&lt;br /&gt;
&lt;br /&gt;
If the PBX is operated in Slave mode, then the Slave PBX section is displayed&lt;br /&gt;
&lt;br /&gt;
;Registration: The VOIP protocol used for the registration to the master. Possible choices are H.323, H.323/TCP or H.323/TLS.&lt;br /&gt;
&lt;br /&gt;
;Master: The IP address of the PBX master&lt;br /&gt;
&lt;br /&gt;
;License Only: If set, the PBX obtains license from master, but acts as master in all other respects.&lt;br /&gt;
&lt;br /&gt;
;Alternate Master: The IP address of an alternative PBX master (standby, if available)&lt;br /&gt;
&lt;br /&gt;
;Password: The password to be used for registration at the Master as configured in the corresponding PBX Object&lt;br /&gt;
&lt;br /&gt;
;Master GK-ID: The System Name/Gatekeeper ID of the PBX Master were will register (Optional, usually used for DynPBX).&lt;br /&gt;
&lt;br /&gt;
;Replication: This parameter allows you to select the replication style for the slave PBX: either &#039;&#039;All&#039;&#039; or &#039;&#039;Local&#039;&#039; (only users that need to be known in this PBX).&lt;br /&gt;
&lt;br /&gt;
;dyn PBX ID: This parameter allows to set replication from a specific DynPBX configured on the Master Device.&lt;br /&gt;
&lt;br /&gt;
;Use local static User DB: A dynPBX has also this checkmark. The database of the main PBX is used, but be careful due to the increased memory usage. The dynPBX will create its own PBX datastructure which allocates memory.&lt;br /&gt;
&lt;br /&gt;
;Route Master calls if no Master to: If the master is not available, master calls are sent to this destination&lt;br /&gt;
&lt;br /&gt;
;Max Calls to Master/No Reroute: This parameter can be used to limit the calls to the master. If a call is sent to the master and there are already calls to/from the master equal to or exceeding this value, the call is rejected if &#039;&#039;&#039;No Reroute&#039;&#039;&#039; is set or is handled as if the master was not available otherwise.&lt;br /&gt;
&lt;br /&gt;
;License Limits: Here we can set limit of licensing for this Slave PBX for Port, Mobility, Operator and Softwarephone.&lt;br /&gt;
&lt;br /&gt;
For complete replication from master to slave, check also password in [[Reference9:Administration/PBX/Security]]&lt;br /&gt;
&lt;br /&gt;
=== Standby PBX ===&lt;br /&gt;
&lt;br /&gt;
If the PBX is operated in Standby mode, then the Standby PBX section is displayed&lt;br /&gt;
&lt;br /&gt;
;Master: The IP address of the PBX master&lt;br /&gt;
&lt;br /&gt;
;Replicate from Master: Turns on full replication from the master PBX&lt;br /&gt;
&lt;br /&gt;
;use TLS: Use LDAPS (TLS) instead of LDAP (TCP).&lt;br /&gt;
&lt;br /&gt;
For complete replication from master to standby, check also password in [[Reference9:Administration/PBX/Security]]&lt;br /&gt;
&lt;br /&gt;
== License Status ==&lt;br /&gt;
&lt;br /&gt;
=== Licenses ===&lt;br /&gt;
&lt;br /&gt;
A list of all installed PBX license with their current usage is displayed here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Count: The total number of installed licenses of this type.&lt;br /&gt;
&lt;br /&gt;
;Usage: The total usage of this license type&lt;br /&gt;
&lt;br /&gt;
;Local: The usage of this license on this PBX&lt;br /&gt;
&lt;br /&gt;
;Slaves: The usage of this license on PBX&#039;s registered to this PBX.&lt;br /&gt;
&lt;br /&gt;
see [[Reference10:Licenses]] for a description of the licenses.&lt;br /&gt;
&lt;br /&gt;
=== Registrations ===&lt;br /&gt;
&lt;br /&gt;
The current number of registrations and the limit as defined by the base license is displayed here. Because this limit is defined by the base license it includes any registrations because of standby as well, which require no registration license.&lt;/div&gt;</summary>
		<author><name>Achim.klix</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:PBX/Config/General&amp;diff=48786</id>
		<title>Reference12r1:PBX/Config/General</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:PBX/Config/General&amp;diff=48786"/>
		<updated>2017-12-08T10:55:41Z</updated>

		<summary type="html">&lt;p&gt;Achim.klix: /* Common */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The fundamental operating modes of the PBX are configured on this page. &lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Common ===&lt;br /&gt;
&lt;br /&gt;
;PBX Mode: The PBX operating mode&lt;br /&gt;
:* &#039;&#039;&#039;Off&#039;&#039;&#039; - The PBX is disabled. After enabling the PBX a browser refresh is needed to activate additional PBX webpages.&lt;br /&gt;
:* &#039;&#039;&#039;Master&#039;&#039;&#039; - The PBX on this device acts as Master. Within a multisite installation exactly one PBX must be configured as Master.&lt;br /&gt;
:* &#039;&#039;&#039;Slave&#039;&#039;&#039; - The PBX on this device acts as Slave. Within a multisite installation several PBXes can be configured as Slave.&lt;br /&gt;
:* &#039;&#039;&#039;Standby&#039;&#039;&#039; - The PBX on this device acts as Standby for the Master. As long as the master is available, this PBX is  not active, but just monitors the Master. If the Master is not available this PBX is active.&lt;br /&gt;
:* &#039;&#039;&#039;Standby-Slave&#039;&#039;&#039; - The PBX on this device acts as Standby for a Slave. As long as the slave is available, this PBX is  not active, but just monitors the slave. If the slave is not available this PBX is active.&lt;br /&gt;
&lt;br /&gt;
;System Name: The system Name. On all PBX within a multisite installation the same System Name must be configured. For H.323 endpoints this name is the gatekeeper identifier, for SIP endpoints it is the server name.&lt;br /&gt;
&lt;br /&gt;
;Use as Domain: Uses the &#039;&#039;System Name&#039;&#039; as domain name, together with the name field in the user object the PBX constructs the email address (used for sending emails out ox myPBX). This mechanism is also used for Federation, to federate with other domains.&lt;br /&gt;
&lt;br /&gt;
;PBX Name: The name of the PBX on this device. With this name a PBX is associated to a node. The field &#039;Name&#039; (not Long Name) of a PBX Node object relates to this name.&lt;br /&gt;
&lt;br /&gt;
;DNS: DNS Name of the PBX. If configured this will be used for myPBX redirects if a client tries to register at a PBX on which the user is not configured.&lt;br /&gt;
&lt;br /&gt;
;Unknown Registrations: If this checkmark is set, the PBX accepts &#039;unknown&#039; registrations. This means registrations with no matching object configured. If from an endpoint registered in this way a number of an object is dialed, which has no registration active and no &#039;HW-ID&#039; configured the name used for the registration is configured as &#039;HW-ID&#039; of this object. This is an easy way to deploy large numbers of phones.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;With PBX Pwd only:&#039;&#039;&#039; If checked only registrations with a PBX authentication or a verfiied certificate in case of H.323/TLS are accepted. In this case either &amp;quot;PBX Pwd&amp;quot; or &amp;quot;TLS only&amp;quot; is set in a device generated.&lt;br /&gt;
&lt;br /&gt;
;Reverse Proxy Addresses: Up to 8 addresses (no DNS names allowed) can be entered in this field, seperated by comma. Registrations from one of these addresses are assumed to be routed thru a Reverse Proxy. &lt;br /&gt;
: &#039;&#039;&#039;Assume TLS&#039;&#039;&#039;: If the &#039;&#039;Assume TLS&#039;&#039; checkmark is set, it is assumed, that the reverse Proxy did a successful check of the TLS certificate against the registration name.&lt;br /&gt;
&lt;br /&gt;
;Music On Hold URL: A URL for the Music On Hold. This file is read by the PBX using HTTP and sent to a held endpoint via RTP. The format of this URL is&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/&amp;lt;file&amp;gt;.$coder?coder=opus-wb,g722,g711a,g711u,g729,g723&amp;amp;repeat=true&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;. &amp;lt;addr&amp;gt; is the IP address of the http server, no dns name is allowed here. &amp;lt;file&amp;gt; is the filename. $coder will be replaced by the actual coder used.&lt;br /&gt;
&lt;br /&gt;
:Parameters: &#039;&#039;coder=opus-wb,g722,g711a,g711u,g729,g723&#039;&#039; is the list of available coders. Only these coders must be specified for which a corresponding file exists. &#039;&#039;repeat=true&#039;&#039; should be specified in order to loop the file endlessly. &#039;&#039;random=true&#039;&#039; can be used to start the music on hold on a random point (this will work only if the URL is not local though).&lt;br /&gt;
&lt;br /&gt;
:By default the built-in Music-On-Hold is played (Pseudo URL: &amp;quot;MOH?coder=g729,g711a,g723&amp;amp;repeat=true&amp;quot;).  You can also play a dial tone (Pseudo URL &amp;quot;TONE&amp;quot;) or a ring-back tone (Pseudo URL &amp;quot;TONE?tone=ringback&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
:If you configure a wrong (or invalid) URL then you will have silence as MOH. To prevent this situation when the MoH for some specific context/user(see below) is missing and silence is played instead of any MoH, an additional parameter &#039;&#039;fallback=true&#039;&#039; is available. If the file provided in the URL is missing (HTTP Error 404 Not Found is delivered by the HTTP Server) and the parameter &#039;&#039;fallback&#039;&#039; is provided, the default MoH will be played instead of silence. To use a custom file as fallback MoH, instead of default MoH, any file name can be provided with the &#039;&#039;fallback&#039;&#039; parameter: e.g. &#039;&#039;fallback=other_filename&#039;&#039;. The file other_filename.g7xx must be placed in the same folder as a file provided with URL. A special filename &#039;&#039;fallback=ringback&#039;&#039; can be used to generate a ringback tone (equivalent to &#039;&#039;TONE?tone=ringback&#039;&#039;) instead to play an alternative file.&lt;br /&gt;
&lt;br /&gt;
:Within the URL %&amp;lt;id&amp;gt; can be used to put in some context information of the call. The information refers to the party which has put the receiving party on hold. For information about the receiving party itself, the id has to be preceded by &#039;.&#039; (e.g. &#039;&#039;&#039;.l&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;l&#039;&#039;&#039; Long Name&lt;br /&gt;
:&#039;&#039;&#039;h&#039;&#039;&#039; Name (H.323 id)&lt;br /&gt;
:&#039;&#039;&#039;n&#039;&#039;&#039; Number&lt;br /&gt;
:&#039;&#039;&#039;N&#039;&#039;&#039; Node&lt;br /&gt;
:&#039;&#039;&#039;P&#039;&#039;&#039; PBX&lt;br /&gt;
:&#039;&#039;&#039;d&#039;&#039;&#039; Diverting Name&lt;br /&gt;
:&#039;&#039;&#039;#d&#039;&#039;&#039; Diverting Number&lt;br /&gt;
&lt;br /&gt;
;External Music On Hold: To offload the device from playing the Music on hold, the Music On Hold can be played by a separate device. This device can register with a name configured here. To retrieve the Music On Hold a call is sent to this device. For each held endpoint a call is sent.&lt;br /&gt;
&lt;br /&gt;
;Response Timeout: Global timeout (in seconds) after which any action for no response is taken (e.g. Call Forward on No Response). A timeout configured at any object overrides this value.&lt;br /&gt;
&lt;br /&gt;
;Dial Complete Timeout: Global timeout (in seconds) after which any action for incomplete dialed number is taken (e.g. incomplete destination at trunk object).&lt;br /&gt;
&lt;br /&gt;
;No. of Regs w/o Pwd: Number of registration without password authentication which are allowed per user. If 0 is configured no registration without password is possible.&lt;br /&gt;
Pls. note that registrations from 127.0.0.1 w/o password will be accepted anyway&lt;br /&gt;
&lt;br /&gt;
;Recall Timeout: A value configured here enables recall after transfer. If a call is transferred and not answered within this time, the call is sent back to the transferring endpoint.&lt;br /&gt;
&lt;br /&gt;
;Max Call Duration (h): Number of hours until a call with media is disconnected automatically. Affects all calls with initialized media channels signalled via PBX.&lt;br /&gt;
&lt;br /&gt;
;Max WebRTC calls: Sets the max. amount of concurrent WebRTC calls. &#039;&#039;Usage: x (max y)&#039;&#039; The counters &#039;&#039;x&#039;&#039; and &#039;&#039;y&#039;&#039; show the current amount of WebRTC calls respectively the max. amount of concurrent calls, measured since the last reboot of the PBX.&lt;br /&gt;
&lt;br /&gt;
;Group Default Visibility: Allows to restrict default visibility to active group members. If changed active subscriptions are not affected. Is used to prevent standard users from getting access to sensitive information like activities/presences of group members in myPBX. If not generally allowed by the administrator via this setting, normal users are not able to change it via myPBX.&lt;br /&gt;
&lt;br /&gt;
;Pickup Prefix V7: In V7, the pickup prefix is obsolete. Please use the pbx object [[:Reference7:Administration/PBX/Objects/DTMF Features|DTMF Featurecodes]].&lt;br /&gt;
&lt;br /&gt;
;Presence with Alert: Enable presentation of presence on phone upon alert. Setting applies for all PBX users. Alternatively, display of presence subject only delivered by Exchange can be prohibited - see [[Reference10:Concept_Exchange_Calendar_Connector#Exchange|Exchange Calendar Connector : Omit Subject]]&lt;br /&gt;
&lt;br /&gt;
;Enable External Transfer: Unless this checkbox is set any attempt to transfer an external call back to an external destination will result in disconnection of the call.&lt;br /&gt;
&lt;br /&gt;
;No CLIR on Internal calls: If checked numbers are displayed even if received with presentation restricted. When sending a call presentation restricted can still be set and should be honored by a public network.&lt;br /&gt;
&lt;br /&gt;
;Media Relay:&lt;br /&gt;
:;Off: No Media Relay is done in the PBX &lt;br /&gt;
:;On: All media traffic is routed through the PBX.  With the &#039;&#039;&#039;No Media Relay if Addresses are identical or private&#039;&#039;&#039; checkmark, this is not done if the two call endpoints registration addresses are either private or equal (i.e. external endpoints behind the same NAT router).  To identify an address as private the &amp;quot;Private Networks&amp;quot; configuration from &#039;&#039;IP4/General/Settings&#039;&#039; is used.&lt;br /&gt;
:;Auto: Media traffic is routed through the PBX if calls are between private and public registration addresses but not for calls between private and private or public and public registration addresses. To identify an address as private the &amp;quot;Private Networks&amp;quot; configuration from &#039;&#039;IP4/General/Settings&#039;&#039; is used. In v11 this was the behaviour if &#039;RTP Proxy&#039;&#039; was &#039;&#039;on&#039;&#039;.&lt;br /&gt;
: Please note that when media relay is in effect for a call,  &#039;&#039;&#039;video is not working&#039;&#039;&#039;.   With ICE (available from v12r1), media relay in the PBX should be obsolete except for special applications.  Check &#039;&#039;On&#039;&#039; or &#039;&#039;Auto&#039;&#039; only if you need to have this, since it creates CPU load on the PBX.&lt;br /&gt;
&lt;br /&gt;
;Generate CDRs: If this checkbox is set, the PBX generates CDRs for all calls. See [[Reference9:Concept_Call_Detail_Record_CDR_PBX]] for a description of the CDRs.&lt;br /&gt;
&lt;br /&gt;
;Route Root-Node External Calls to: Destination object (Long Name) of Root-Node external calls. This configuration option is available on the Master or Standby PBX only. Any call call which cannot be terminated inside the PBX is sent to this destination as long as neither the source nor the destination of the call can be associated with a node with a PBX configured. This object must be assigned to this PBX.&lt;br /&gt;
:&#039;&#039;&#039;For calls from local PBX only&#039;&#039;&#039;: If set on a master, calls from a slave are not sent to this destination but sent back to the slave where the call came from. On the slave the call is then sent to a destination configured with &#039;Route Root-Node External Calls to&#039;.&lt;br /&gt;
&lt;br /&gt;
;Route PBX-Node External Calls to: Destination object (Long Name) of PBX-Node external calls. Any call which cannot be terminated inside the PBX is sent to this destination as long as the source nor the destination of the call can be associated with the node of this PBX. If a call is sent from or to an object defined inside the node of this PBX or in a node hierarchically below the node of this PBX the call is associated to the node of this PBX. This object must be assigned to this PBX, that is, it has to register to this PBX.&lt;br /&gt;
&lt;br /&gt;
;Route Internal Calls to: Destination object (Long Name) to which any call is sent for which a PBX internal destination was found, except for those calls that originated from that object. This can be used to apply special routing on PBX internal calls.&lt;br /&gt;
&lt;br /&gt;
;Escape Dialtone from: The PBX object (Long Name) to which a call is made to get a dialtone if a dialtone is configured for the escape of a node. As above, this object must be assigned to this PBX.&lt;br /&gt;
&lt;br /&gt;
;Prefix for Intl/Ntl/Subscriber: Prefixes to be used to map International, National and Subscriber numbers. For example to send from the faxserver if the received mail contains the number in international format, e.g. +49123456578@faxserver.local&lt;br /&gt;
:* &#039;&#039;&#039;International Prefix&#039;&#039;&#039; (&amp;lt;code&amp;gt;000&amp;lt;/code&amp;gt; in Germany).&lt;br /&gt;
:* &#039;&#039;&#039;National Prefix&#039;&#039;&#039; (&amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt; in Germany).&lt;br /&gt;
:* &#039;&#039;&#039;Subscriber Numbers&#039;&#039;&#039; (in Germany, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is a commonly used trunk line access code).&lt;br /&gt;
&lt;br /&gt;
;Tones: The tones scheme to be used for PBX generated dialtones. This applies to dialtones generated for node prefixes, ringback on transfer and some more.&lt;br /&gt;
&lt;br /&gt;
=== Slave PBX ===&lt;br /&gt;
&lt;br /&gt;
If the PBX is operated in Slave mode, then the Slave PBX section is displayed&lt;br /&gt;
&lt;br /&gt;
;Registration: The VOIP protocol used for the registration to the master. Possible choices are H.323, H.323/TCP or H.323/TLS.&lt;br /&gt;
&lt;br /&gt;
;Master: The IP address of the PBX master&lt;br /&gt;
&lt;br /&gt;
;License Only: If set, the PBX obtains license from master, but acts as master in all other respects.&lt;br /&gt;
&lt;br /&gt;
;Alternate Master: The IP address of an alternative PBX master (standby, if available)&lt;br /&gt;
&lt;br /&gt;
;Password: The password to be used for registration at the Master as configured in the corresponding PBX Object&lt;br /&gt;
&lt;br /&gt;
;Master GK-ID: The System Name/Gatekeeper ID of the PBX Master were will register (Optional, usually used for DynPBX).&lt;br /&gt;
&lt;br /&gt;
;Replication: This parameter allows you to select the replication style for the slave PBX: either &#039;&#039;All&#039;&#039; or &#039;&#039;Local&#039;&#039; (only users that need to be known in this PBX).&lt;br /&gt;
&lt;br /&gt;
;dyn PBX ID: This parameter allows to set replication from a specific DynPBX configured on the Master Device.&lt;br /&gt;
&lt;br /&gt;
;Use local static User DB: A dynPBX has also this checkmark. The database of the main PBX is used, but be careful due to the increased memory usage. The dynPBX will create its own PBX datastructure which allocates memory.&lt;br /&gt;
&lt;br /&gt;
;Route Master calls if no Master to: If the master is not available, master calls are sent to this destination&lt;br /&gt;
&lt;br /&gt;
;Max Calls to Master/No Reroute: This parameter can be used to limit the calls to the master. If a call is sent to the master and there are already calls to/from the master equal to or exceeding this value, the call is rejected if &#039;&#039;&#039;No Reroute&#039;&#039;&#039; is set or is handled as if the master was not available otherwise.&lt;br /&gt;
&lt;br /&gt;
;License Limits: Here we can set limit of licensing for this Slave PBX for Port, Mobility, Operator and Softwarephone.&lt;br /&gt;
&lt;br /&gt;
For complete replication from master to slave, check also password in [[Reference9:Administration/PBX/Security]]&lt;br /&gt;
&lt;br /&gt;
=== Standby PBX ===&lt;br /&gt;
&lt;br /&gt;
If the PBX is operated in Standby mode, then the Standby PBX section is displayed&lt;br /&gt;
&lt;br /&gt;
;Master: The IP address of the PBX master&lt;br /&gt;
&lt;br /&gt;
;Replicate from Master: Turns on full replication from the master PBX&lt;br /&gt;
&lt;br /&gt;
;use TLS: Use LDAPS (TLS) instead of LDAP (TCP).&lt;br /&gt;
&lt;br /&gt;
For complete replication from master to standby, check also password in [[Reference9:Administration/PBX/Security]]&lt;br /&gt;
&lt;br /&gt;
== License Status ==&lt;br /&gt;
&lt;br /&gt;
=== Licenses ===&lt;br /&gt;
&lt;br /&gt;
A list of all installed PBX license with their current usage is displayed here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Count: The total number of installed licenses of this type.&lt;br /&gt;
&lt;br /&gt;
;Usage: The total usage of this license type&lt;br /&gt;
&lt;br /&gt;
;Local: The usage of this license on this PBX&lt;br /&gt;
&lt;br /&gt;
;Slaves: The usage of this license on PBX&#039;s registered to this PBX.&lt;br /&gt;
&lt;br /&gt;
see [[Reference10:Licenses]] for a description of the licenses.&lt;br /&gt;
&lt;br /&gt;
=== Registrations ===&lt;br /&gt;
&lt;br /&gt;
The current number of registrations and the limit as defined by the base license is displayed here. Because this limit is defined by the base license it includes any registrations because of standby as well, which require no registration license.&lt;/div&gt;</summary>
		<author><name>Achim.klix</name></author>
	</entry>
</feed>