Howto:Maintaining a Phone Directory in the PBX

From innovaphone wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Applies To

This information applies to

  • PBX, all platforms, V7 and later


More Information

Problem Details

A shared phone directory for all users is a common requirement in PBX systems. Although there are sophisticated solutions based on LDAP services available (e.g. Metadirectory), some customers ask for a small and easy solution which is implemented directly in the PBX and does not require any external components. Here is how to do it.

System Requirements

The goal is to make the global phone book available in the phone's directory client for outgoing calls and for reverse identification of incoming calls. You will need a PBX and you will need to configure the phone's external LDAP client accordingly. The solution will also work with the LDAP Directory Search object.

Configuration

The idea is to configure directory entries as normal user objects. These will be looked up by the phone's directory client. Unfortunately, all these numbers obviously start with the trunk access prefix (usually 0) and would thus conflict with your trunk object. The solution is to create a separate node for phone book entries (say telbook for example). This eliminates the conflict as there will be no trunk object in this node. All phone book entries must be configured with the node property set to telbook then.

Node

To create the node, you need to:

  • Add a Node entry with:
  • Name set to e.g. telbook
  • Long Name set to e.g. telbook
  • Number to a available number in the dialing plan. The actual number is not used for the phonebook
  • Check the Hide from LDAP check-mark so the node doesn't appear in LDAP searches.

Rest can be left default.

Entries

To add an entry, you would create a user object and configure it as follows

  • Set Long Name to some unique id, e.g. _Donald mob (In our example we have used the _ (underscore) as first letter becuase then we got all these object at the end of the PBX-Object listing.)
  • Set Display Name to the name you want to appear in the phone display (e.g. Donald Duck, Metro-Goldwyn-Mayer)
  • Set Number to the number to dial (including trunk prefixes, e.g. 007031730090)
  • Set Node to the phone book node you created (e.g. telbook)
  • Leave PBX empty
  • Check the Hide from LDAP check-mark

LDAP Server Account

On the PBX used to query the directory, you will need to add an appropriate LDAP account as follows

  • add a new LDAP account, named e.g. telbook-access
  • add just any password you like, e.g. ipxxx
  • make sure you un-check the Write-Access check-mark

Telephone LDAP Directory Client

On the client side, you need to configure the LDAP directory client in Configuration / Registration x / Directories accordingly. Here it goes:

  • You may want to clear the enable check-mark in the PBX box if you want the phone to display phone book entries only. However, leaving it checked will nicely show a merged list of PBX extensions and phone book entries
  • You need to check the enable check-mark in the External LDAP Server box
  • Set Server to the IP address of your PBX
  • Set Port to 389
  • Set Username and Password to the credentials of the LDAP server account created previously (e.g. telbook-access and ipxxx)
  • Set Search Base to cn=PBX0
  • Set Mode to basic
  • Set Object Filter to (node=telbook)
  • Set Name Attributes to dn
  • Set Number Attributes to e164

Local-LDAP-complete setup.PNG

*The Write checkmark at the LDAP Server is not necessary anymore.


The LDAP phone settings can also be set in the DHCP server:

-mode basic -addr 192.168.0.1 -dn telbook-access -pw ipxxx -base cn=PBX0 -obj (node=telbook) -attr dn -phone e164  

Administrative Access

Maintenance of the phone book now requires admin rights in the PBX. However, this maintenance is usually delegated to personel that should not have modify rights on the system's overall configuration. To work around that problem, you would create a special PBX user (say telbook-admin) with limited access rights. You need to

  • Create a new User object
  • Set Long Name and Name and to the desired name (e.g. telbook-admin)
  • Leave Number empty
  • Set Password to the desired password
  • Set Node to you standard node, but not to the node you are using for the phone book (e.g. to root, not telbook)
  • Leave PBX empty

On that user object, you would set special access rights. To do so, you open the Rights dialogue (by clicking the + sign in the Rights column) and

  • Select Administration of all Objects from the drop-down list
  • Set Limit to Node to your phone book node (e.g. telbook)
  • Leave Limit to PBX empty

The person in charge of the directory administration can now log in to the PBX using this restricted account and safely edit all entries with no risk of doing harm to the rest of the configuration. Local-LDAP-admin-user.png

Known Problems

  • The number of contacts we can have inside the PBX depends on the Hardware/Device we are using for PBX, since all have different capacities for the number of Objects that can be created inside.
  • To use ldap reverse lookup from IP1202 on incoming calls, you shouldn't configure the dialing location in DECT/Config/Master. Otherwise the dialing location will restructure the search value and you can get empty results.