Course12:Advanced - Advanced Object Types Part II

From innovaphone-wiki

Jump to: navigation, search

Advanced Object Types Part II



In the basic training you learned about objects in the PBX like trunk, user, boolean, waiting queue and call broadcast objects and also about groups, active flag and group indication. In this book you will learn about all the other objects that are listed on the drop down menu under objects.

The Config Template Object

If many objects share similar properties, an fish-help.png configuration template object can be screenshot.png created and screenshot.png linked to other PBX objects. These objects will then share the settings that are present in the template, unless they are not explicitly overridden in the receiving object.

Templates can be screenshot.png nested and be combined/merged with Phone Configs.

However, please note that templates cannot be nested in multiple levels. That is (see also fish-help.png PBX/Objects/Config Template), a template can reference another template, but this must not in turn reference a third template. Although it is possible to configure this, it will simply not work.

It may be a good habit thus to screenshot.png create two types of templates. One type that does not reference further templates and is used as building block for composed templates. The other type that does reference the building blocks and is assigned to users.

The Phone Config on PBX

It is possible to store phone configs at the PBX (and not only on the phone as was the case until V7). This is very useful for mass roll-out and for roaming phone profiles (Hot desking). This is also a simple method to push a phone config when replacing a phone.

It is much nicer to store a phone config at a config template. When a phone registers at an object (and this object has a phone config) it will receive this configuration. There are options fish-help.png PBX/Objects at the object properties to force that.

The checkmark Store Phone Config is an option to store the phone config at the PBX, instead of on the phone flash memory. This configuration can come from the phone or from the phone config at the user object or via a config template. So any new config change will always be merged with the last one and stored on the PBX.
Example: a phone registers at a PBX - receives the phone config, then a new function key will be added on the phone - this new setting will be merged with the last config and stored on the PBX.

While migrating from the phone based config to PBX based config, the option Discard Config on Phone can be used to discard an existing configuration at the phone and to not migrate it to the PBX (therefore both checkmarks must be set). These options work just once, which means that the config that is stored locally on the phone will be deleted the first time the phone is registered to the PBX, but any later changes on the phone will be sent to the PBX and merged and saved with the phone config at the PBX.

If you want to discard any config changes that are done directly on the phone you will need to do that on the phone via Protect Configuration at Phone in fish-help.png Phone/Protect.

If you want to reset a phone configuration (press blank) for a user that is (for example) defined through a template then you use Reset User Specific Configuration in fish-help.png Phone/User/Reset on the phone.

All registration-specific settings (that is, all configuration settings done in the fish-help.png Phone/User-x pages except the fish-help.png Phone/User-x/General page) can be stored in the PBX (use the config-link in the Phone column in the PBX object list). They can also be provided in a fish-help.png PBX/Objects/Config Template object.

In case config templates are used, the following must be considered: Users phone config has a priority over the template config - changes of specific options on the template will not be applied to the phone config, if this option is already defined by the phone config stored on the user object.

(Further Hints) Please note that the phone configuration in this case will be stored in the respective PBX user object. This object is limited in size and if the configuration grows too large when merging-in the existing configuration from the phone itself, the existing configuration will get lost. In such a case, you may consider splitting the configuration (e.g. function key definitions) in to several Config Template objects, which are then applied for the user.

The DECT System Object

The fish-help.png PBX/Objects/DECT System object is needed for connecting an innovaphone DECT solution to the PBX. There will be no registration on this object. The DECT System object is used for storing the system parameters of the DECT system.

The DTMF features Object

The fish-help.png PBX/Objects/DTMF Features object can be used as a global "feature enabling object" . Any registration at the PBX (e.g Analog, ISDN, DECT or any third party phone) can use screenshot.png the features via the configured DTMF codes. Every DTMF feature can be enabled/disabled separately via this object.

Additionally screenshot.png a presence status and a preconfigured presence note can be set or deleted via DTMF codes.

The Executive Object

The fish-help.png PBX/Objects/Executive object is for so called chief executive/secretary functionality. The primary purpose is that calls for the chief exec (executive) are routed to the secretary and only the secretary (and a special group of people) can forward a call to the chief exec.

There can be various configurations like screenshot.png one chief exec. with one secretary, screenshot.png more chief execs with one secretary or screenshot.png one chief exec with more secretaries and of course also screenshot.png more chief execs with more secretaries. There is no limitation about the number of chief execs or secretaries. Also it is possible to define 2 groups of secretaries, a primary and a secondary. If no secretary is part of the primary group the call will be routed to the users in the secondary group. So if a user is part of a primary or secondary group this needs to be configured via groups. A group (so called direct call) of users can be defined so that certain people can call the chief exec directly and not get diverted to the secretary.

The chief executive's phone registers at the executive object, and the secretaries are "normal" user objects.

A chief executive/secondary configuration with a combined use of function keys completes the solution.

For example, if you need an announcement feature between the chief exec. and secretary (the chief executive needs to leave an urgent message) a fish-help.png Phone/User/Function-Keys/Dial function key with announcement on the chief executive phone must be configured. If the chief exec. or the secretary needs the busy state of the chief exec./secretary a fish-help.png Phone/User/Function-Keys/Partner key must be defined. If the secretary needs to log/in out of the primary or secondary group a fish-help.png Phone/User/Function-Keys/Join-Group function key needs to be added.

Version 9 Features

With Version 9 following additional chief executive/secretary features were added:
  • The secretary can make calls on behalf of chief with chiefs phone number as CGPN
  • The chief executive can see call forwarding settings of the secretary phone on the partner key
  • The chief executive can see "away" status of the secretary (secretary is dynamic-out in the primary group for this chief)
  • The chief executive can override "call waiting off" option activated on secretaries phone in order direct or redirected calls from chief executive are ringing as waiting calls at secretaries phone (Call Offer)

As an alternative to the Call Offer function, which overrides Call Waiting Off on the secretaries phone for all calls (direct from chief and redirected from chief), the Partner Function Key can be used by chief to call busy secretary.

To call on behalf of chief executive the secretary must go off hook, than press partner key of the chief(identity on the phones screen will change to the chiefs one) and dial the number to call. It is not possible to make such calls via MyPBX or other CTI applications. Also it is not possible to choose number from any directory.

To be able to see call forward status of the secretaries phone and dynamic-in/out status of the secretary, the partner key for the secretary on the chiefs phone must be configured to Partner Type "Secretary" and option Subscribe for Presence must be activated.

The feature Call Offer on the tab Executive under fish-help.png PBX/Objects/Executive must be enabled to allow calls to busy secretary, that was redirected from chief executive phone, to override "call waiting off". A call to busy secretary will be indicated as waiting call in the display on the secretaries phone.

The Executive allow monitoring of availability of secondary secretary. screenshot.png monitoring.

With these two additions a configuration with two executives and two secretaries, each secretary being primary to one executive an secondary to other can be configured with a single group for each secretary and both executives can monitor the availability of both secretaries.

Version 10 Features

Later in this book, a new object called "Number Map Object" will be introduced. With this it is possible to map dialed numbers to another number. How this works and why this object is useful will be explained later.

When defining an executive object as destination within a number map, it was often required to hide the destination to the caller. Therefore, a new parameter called fish-help.png "Hide connected endpoint" was introduced with Version 10.

The ICP Object

The fish-help.png PBX/Objects/ICP object is only used when connecting the innovaphone PBX with an AAstra MD110 or Nortel Meridian PBX and shares the presence information. This object is used to send presence information between different applications connected to the MD110 or Meridian.

The PBX Object

A PBX objectfish-help.png PBX/Objects/PBX represents a PBX.

As described in the basic training, each PBX device has got to have a unique value for the PBX Name property. This value must match the Name of the corresponding PBX object. If you have a single PBX or a PBX tree, setting up a PBX object for the own PBX is a must. In the Tab Licenses the PBX object also shows how many licenses the Slave PBX which is registered at this object has in use (when the fish-help.png central licensing concept is in use).

For setting up more Pbxes in a master/slave scenario, a PBX must be configured for every slave. Here, please refer to Distributed PBX Book.

The Node Object

A Node object fish-help.png PBX/Objects/Node represents a node.

In a VoIP PBX, all entities have a distinct name that can be used to call them. However, like in traditional PBX systems, they can also have a (optional) number to call, often referred to as extension.

In a simple case all extensions are distinct, forming a screenshot.png flat numbering plan.

However, in some cases, a structured numbering plan is desired where extensions share the same number. For example, screenshot.png a customer with several branch offices may want to have short, overlapping extensions per branch office. When dialling an extension, it is interpreted in the context of the caller's branch office. Remote branch extensions are called by means of a branch dial prefix.

This creates a screenshot.png structured, multi-level numbering plan.


In innovaphone speak, each scope in the numbering plan (that is each range where extension numbers must not overlap) is called a numbering node. Each extension thus lives within exactly one numbering node.

Example: In an screenshot.png exemplary numbering plan, Branch A would be a node.

Node Tree

Numbering nodes are structured hierarchically forming the screenshot.png numbering node tree. The root of this tree is always called root. There is exactly one numbering node tree per system. Of course, if your numbering plan is screenshot.png flat, the resulting numbering node tree is trivial: it consists of screenshot.png the root node only.

The processing of a dialled number is controlled by the numbering node tree and depends - amongst others - on the position of the caller extension's node in the numbering node tree. That is, dialling the same digit string may yield different results for different callers. For example, dialling an extension number 11 from within one branch may ring at this branches extension 11 whereas dialling 11 from within another branch may ring an extension in that branch.

For setting up a Numbering Node tree, please refer to Distributed PBX Book

The Mobility Object

The Mobility Object fish-help.png PBX/Objects/Mobility is used for providing mobile extensions service for users. It is possible to have a "One Number" solution in combination with the endpoints registered at the PBX and with "external phones " like GSM phones and ISDN/Analog fixed network phones.

To have one extension and a free choice of endpoints for incoming and outgoing calls. For incoming calls, the call will be signalled at the extension (registered endpoints at the object) and also at the configured Fork destination fish-help.png Objects/Edit Forks. For calls from an external phone, the Mobility Object must be called, then the PBX makes a number identification (due to the Fork number configured at the object). So the external phone calls in the name/number of the object to internal or external (with two stage dialling) and the Mobility features can be used too. In order to use the Mobility feature a Mobility license is needed.

For more information on the Mobility feature please read the Mobility Book

The Number Map Object

The fish-help.png Number Map object can be used as a global speed dial, e.g. to map a short 2-digit id number to a user's full cellular number (e.g. 72 -> 001721234567) . You would define an individual Number Map object for each id number.

Network based Routing

Sometimes, e.g. for emergency numbers, maps depend on the physical location of the caller. For example, if users in several geographic regions are registered to the same PBX, the speed dial 112 should in fact dial the right fire brigade. This can be done by setting the Addr and Mask properties in the MAP list. These are matched to the registration IP address of the calling endpoint and the best-match map is used.

Distributed PBX considerations

The Number Map object can make different maps according to the registration IP address of the caller. To understand why this can get tricky in a distributed PBX setup, we will look at an emergency call scenario (common usage for this object).

We have 2 sites and one home office, each of them with an own IP - address subnet. Our first thought would be to configure a Number Map object for each network range at the Master PBX.
Let's assume that the guy in Hannover places an emergency call. The Master PBX doesn't know the caller's registration IP address, it only knows that it is a user registered at the slave PBX. As a result, it applies the mapping for the network ant the call is sent to the wrong emergency station in Stuttgart.
To solve this problem, you have to make sure the Number Map object is replicated on all slave PBXes. You already know how to do this, you leave the PBX field empty. By leaving the Node field empty and checking the local flag of the object, this Number Map will work not only for users in the root node but also for users PBX nodes. (This is only important if not all users are in the root node).

The Directory Search Object

The fish-help.png Directory Search Object allows a phone without built-in LDAP client to use an LDAP directory. This is useful especially for DECT phones.

Configuring an LDAP client can be pretty complex. However, the Directory Search object is easily configured to access an innovaphone PBX! See the excellent wiki article.

When configured correctly, users can call the object and then send the search string using the digit keys (like with a cellular: 2 is "a or b or c", 3 is "d or e or f", etc.). In addition, the following keys are defined:

1: scroll up
*: scroll down
0: insert a space, skip to the next search attribute listed in the Name Attributes property (e.g. first name, last name, depending on the LDAP configuration)
#: dial

The fish-help.png PBX/Objects/Directory Search object is moved to the Directory Search Object and is used to implement a PBX-wide Speed-Dial function with the data stored in the external LDAP server. Instead of resolving names to numbers, the LDAP Quickdial Object resolves short numbers to complete calling numbers. The number to be resolved is passed to the Object by appending it to the number of LDAP Quickdial Object

The Gateway Object

Similar to the User Object, the fish-help.png PBX/Objects/Gateway object ought to be used with a gateway or external application registered on it. The difference to the User Object is that to the outgoing CDPN additional digits can be appended. The same applies for incoming calls. The multiple registrations on the Gateway Object are handled in the same way as on the Trunk Line Object.

The Gateway Object is usually used in following scenarios:
  • 3rd party applications requiring H.323 or SIP a registration to the PBX
    • Fax Server registered to the PBX
    • MS Exchange 2007
  • As a trunk:
    • to other PABX in a smooth migration scenario
    • to other IP PBX

But one thing counts for all of these scenarios: the other side must be able to send a registration via H.323 or SIP to the innovaphone PBX.

Enbloc Count

The Enbloc Count option is useful if a Gateway or Application registered on the Gateway Object does not support overlapped dialling. In this case you should know how many digits can be sent to the Gateway or Application.

For example: the Gateway Object has configured the number 12 (two digits). Additionally an Enbloc Count is set to 3. The overlapped dialled numbers sent via this object will be 5 digits long: 12xxx. If the Number 1234 in the PBX is dialled, the call is not sent immediately to the registration on the Gateway object, but the Gateway Object will wait until the fifth digit is dialled. As soon as the fifth digit is dialled(e.g. 5) the number 12345 will be sent to the registration.

Enblock as Diverting No

Some applications require a Diverting Number information to be provided in the call (especially Microsoft Exchange Server 2007). If this option is activated the call we used in the prior example will be sent as follows: to number 12 diverted from number 345.


Enabling the Prefix option on Gateway Object will remove the object's own number from CGPN of outgoing calls and append it to the CDPN of incoming calls. You know this behaviour from the Trunk Line Object.

International, National and Subscriber Match

Well, these settings are quite rarely used and are similar to the Number Maps used on ISDN interfaces.

It is useful in case a 3rd party application which is registered to the Gateway Object, places a call to the PBX by using the extension number of PBX users and prepends a complete international prefix as a calling party number.

For example an employee with the extension number 123 has a full international Number +49703173009123 stored in some external database (e.g. Active Directory). In the innovaphone PBX the User Object for this employee is created automatically by using AD replication and will have a Number 123. The 3rd party application also uses the Active Directory for creating an own User Database, but replicates a whole international number if +49703173009123. As expected, if 3rd party application calls into the PBX it uses +49703173009123 as a calling party number.

Call Diversions

Usually it makes no sense to set Call Diversions on the Gateway Object since the CDPN is changed if a Call Forward is executed, but you can use a CFNR e.g. to reroute calls to a last resort destination in case an application registered to the Gateway Object is not available. For example if a fax server usually registered to the Gateway Object is down and the registration is lost, you can use CFNR to reroute the fax calls to an analogue fax machine.

The Conference Object

This object is covered in a separate topic in this course.
Personal tools