Course13:IT Advanced - 07 More on advanced PBX object properties and behavior
From innovaphone-wiki
This book explains more advanced properties and behaviour of the PBX user object as well as their related function keys. Most of them apply to many of the PBX object types.
To begin with
This will add a few users to your PBX on the IP411LEFT and register your phones. Be sure to wait for all your phones to

Upgrade


Conflicts

Install parameters

Upgrade the existing PBX | turn on |
||||||
Network settings | leave everything as-is |
||||||
Display name | Christoph Künkel | ||||||
Email address | dvl-ckl2@class.local | ||||||
Account | ckl | ||||||
Password | ip411 | ||||||
Domain name | |
should already be fine dvl-ckl2.net | |||||
PBX location name | should already be fine hq |
||||||
Use DNS to access myApps | turn on |
||||||
DNS name of this PBX / DNS name of the App Platform | |
use defaults |
|||||
VM | en | ||||||
Outside line | 0 |
||||||
International prefix | 00 | ||||||
National prefix | 0 | ||||||
Area code | 621 |
||||||
Country code | 49 |
||||||
Email account | turn off |
||||||
Test mode |
turn on |
Logging in to myApps
Add devices to Devices




- select your IP111 (the Edit area will open)
- click in to the Domain field (a list of domains will pop up - you only have one, dvl-ckl2.net)
- select this domain and then click OK

Setting the categories

- switch to the Categories area
- click in to the Category name field (a
list of available categories which have been created by the Install will pop up)
- select hq IP Phone (as your IP111 is an IP phone)
- click on the + sign next to the drop-down field (admittedly, this is not obvious: if you fail to do this, your category setting won't be store)

But what about adding the remaining IP811 to our installation?
Adding the IP811

- moodle did not set the Devices App URL in
General / Devices-Registration , so you need to do it (the URL to use is wss://apps.dvl-ckl2.net/dvl-ckl2.net/devices/sysclients as we already discussed in the Adding your devices to "Devices" part ofSetting up the Application Platform - you then can join it to your domain and
- finally assign an appropriate category to the IP811 (yes, hq Gateway is a good idea)
And what about the IP411RIGHT?
Basic PBX functions
Call Forwardings



Calls to Objects with no Endpoint registered to
An innovaphone PBX has all the call forwarding types known from legacy PBX systems. A special case though is a call to an object where there is no endpoint registered at all for. This situation triggers the CFNR.
Rejecting Calls
Users can reject alerting calls on the phone (depending on the phone e.g. using the


- configure a call forward for this user to John Doe as long as there is no phone registered with Henry Jekyll
- from Jane Doe's IP112 call Henry (15)
John's phone should ring
- open the TEL1 settings on
Gateway / Interfaces - clear the Disable check-mark
- the TEL1 interface (and hence the analog phone) will now register with Henry
- if you call Henry (15) again, the analog phone will ring instead of John's phone
Forwarding Loops

Forwardings based on presence
- a CFB is triggered whenever the user's presence state is busy or do not disturb
- a CFNR is triggered whenever the user's presence state is Away
- by the administrator by ticking
the Call forward based on Presence check-mark in the PBX User record's User tab
- the end-user by moving
the Depends on the Presence status in to the on position in the Profile
Conditional Forwardings

CGPN

The calling number provided with the call as well as all the diverting numbers are matched against the rule's No.
Internal / External Calls
How to match the from property
- a CFU to Jane (12) for all calls originated by Edward (11)
- a CFU to Richard (13) for all calls diverted by Edward (11)
- a CFU to John (14)
Forwarding a direct call
- call from Edward (11) arrives at John with Clid 11 and Fwd <empty>
- so the call originator (Clid) condition 11 matches and the CFU to Jane (12) is executed
Forwarding a forwarded call


- call from Jane (12) arrives at Edward (11) with Clid 12 and Fwd <empty>
- Edward, having an unconditional CFU to John (14) forwards the call to John
- call arrives at John with Clid 12 and Fwd 11
- so the call originator (Clid) condition 11 does not match and the CFU to Jane (12) is not executed
- but the call forwarder (Fwd) condition (11) matches and the CFU to Richard (13) is executed

Dynamic Conditions


The call forward is triggered only if the condition described in the boolean object is met (or is not met, if the Not check mark is ticked too).
You will find a





Implicit Forwarding


This is a convenient way to configure the handling of standard call forwarding situations such as CFB (Busy) and CFNR (No Answer) globally. In addition, special situations like calls to incomplete (Incomplete), wrong (Invalid) extensions or calls which were rejected by the user after alert (Rejected) can be handled. If you use the Name field to specify the target here, it must correspond to the Name property of the target object.
Most of those implicit forwards are of course optional, the PBX works fine without setting those. However, one of them, Loopback, you will want to consider for sure! This setting handles external calls to an extension which is the access code for your trunk (most often 0). This is most often used to call the switchboard (e.g. +49 7031 73009 - 0). If you don't set this, external callers will be able to call in to your PBX and straight call out to the trunk again. This way, you will bear the cost!


- which are not answered
- as well as those which call out to an external number again
will be delivered to the user Edward Hyde.

Disabling Forwarding
Any call forwarding can be disabled explicitly by configuring a minus (-) as call forwarding destination No. This does make sense for CFNR and CFB only.
This will also disable implicit forwardings imposed by the Trunk line object.
This feature is essential on fax lines when you set Busy (CFB) or No Answer (CFNR) globally on the trunk line. If for example, such calls are forwarded to the switchboard, an incoming fax to a busy fax device would be forwarded to the switchboard too. This will probably not make the receptionist happy! You should therefore disable call forwards of both types for the fax line.

Object Specific Handling of Call Forwarding
For example, a


Setting Call Forwarding on the Phone
However, for end users, it is much more convenient to set them either from the Profile App in myapps (we have seen this before) or directly from the phone. As H.323/H.450 defines a standard to communicate call forwarding settings between an endpoint and the PBX, H.323 based devices can be used for this. innovaphone phones allow end-users to do this through the Call Settings page in the telephony app:


To configure a diversion, press long on the respective button. This opens the edit field. Once configured, you activate/deactivate this diversion with a short press.


Administrative call forwards
Call Forward related Function Key


This feature is not available when the phone is registered via SIP.
To add a Call Forwarding function key, you would open

You can define up to 4 independent

The current status of the call forward setting is retrieved from the PBX and matched to the defined sets. If none matches, the idle state is assumed.

Text |
Type |
Target Number |
Out of Office |
CFU |
11 |
Busy |
CFNR |
13 |
Deploying CF function keys
- Disable Modification on Phone can be used so that end-users can not modify the function key's settings. This is useful when you want to enforce a certain policy
- Apply 'Always' Setting Only can be used so that end-users can only toggle through the CFU settings. This is useful if you need to enforce a uniform policy for CFNR or CFB (to voicemail for example) but let end-users have the freedom to forward to individual destinations when they leave the office for example
The CFNR Timeout


If not set, the timeout is set to 15 seconds. It can be overridden for each individual PBX object (e.g.


Limiting Call Forwarding



You will learn how to set up filter in one of the next chapters. The filter is evaluated on call forward time, not on call forwarding setup time.
This allows for example to disable costly call forwards to external recipients (such as mobile phones).
Call Transfers
Blind Transfer
A blind transfer can be initiated by one of the menu buttons which appear during an alerting or connected call:


The first step can also be done by hitting the ''redial'' key on the phone.
The call is redirected to the new destination right away and thus disappears from the transferring phone.
Consultation Transfer
For a consultation transfer (which is available for a connected call only), the call is put on hold, a new call is placed to the intended destination. The 2 calls are then transferred by either putting the receiver on hook (transfer by on-hook can be disabled by setting the No Call Transfer on Hook-On property in the


When a consultation transfer is initiated while the consultation call is still in alerting state (called party has not yet picked up), it is sometimes referred to as semi-blind transfer or semi-attended transfer.
The Redirect Function Key

By default, when there is an active (connected) call when the function key is pressed, the redirection is performed on the first waiting call. This is convenient to get rid of call waiting on a call-by-call basis (as opposed to setting a CFB).
If the Redirect Active Call property is set in the function key configuration, the active call is redirected instead.
The Recall Timer




Filter



Filter | Number |
Next |
Effect |
normal |
empty |
empty |
A "do nothing rule". All called numbers are allowed |
unknown |
0 |
nok |
In our installation, 0 is the number that to access the trunk line. The rule disallows all calls which start with this number |
national |
000 | nok | In our installation, 0 is the number that to access the trunk line. 00 is the national prefix (as we have defined it in PBX/Config/General). So numbers beginning with 000 are international calls (which are not allowed for the national filter) |
intern |
011 |
ok |
when the intern filter is applied, no call to the trunk line is allowed. However, all the emergency numbers starting with 11 (like 110, 112 etc.) are exempted. |
0 |
nok |
All remaining numbers which start with 0 are disallowed for the intern filter |


Conditional filters
For example, you would define a filter that


Another use of filters is for the prevention of call forwards. You would


Multiple Filter Conditions
This can be done by specifying more than one condition. All conditions of a single filter are checked until one is found that matches and specifies nok or ok in the Next column. If no condition matches, the call is allowed.
To fix the problem, we can create a list of conditions where the most significant appears first and so forth.
We can fix our fire brigade problem by specifying a condition that allows calls to emergency numbers like the fire brigade (112 in Germany) before the more generic rule that inhibits 0.

Chaining Filters
The idea is to specify another filter in the Next column instead of allowing (ok) or disallowing (nok) the call. If such a condition matches, the matching part of the number is removed (for the purpose of further checking) and the chained filter is applied on the remaining number.
See

Disallowing incoming external Calls
A common case of restricting incoming calls is to disallow direct calls to an extension from external. This can be achieved by simply


Note that in this case neither CFNR nor CFB are triggered, but CFU is honoured. Also the rejected call will trigger the


Filters on Trunk Objects
As with other objects, it is possible to

Manipulating the Number sent
Changing the CGPN
It is possible to change the CGPN by setting the

In a help desk scenario, you may want to set the Send Number property to the help desk number for all agents to make sure individual extensions are not sent to called customers.
Suppressing the CGPN
As an alternative, a call can be initiated with the calling line id explicitly suppressed (CLIR). This must be done by the calling endpoint (i.e. the phone). There are several options to do this.
Setting the User Default
Users can set their CLIR preference in the telephony app on hard-phones:


The available options are Always (CLIR on), Never (CLIR off) and Once (CLIR on for next call).


Using a Function Key
An equivalent setting can be done by configuring a

No CLIR on Internal calls
Sometimes you want to suppress the CGPN only for external calls. Internally however, the CGPN should be shown. This can be done by using CLIR (with one of the methods described above) and


NB: it is possible to change CLIR on outgoing external calls from "unknown" to a fixed extension. This allows you to configure CLIR for certain users (with or without No CLIR on Internal calls property in the PBX) so that these users will signal a fixed extension (e.g. -0) externally. We will not do exercise it in this course, if you are interested, see Number In in



Limit the Number of concurrent calls
This is useful to cope with devices that do not handle call waiting situations gracefully.
Gateways and Trunks
For objects of type


Call Waiting
The


The

Twin Phones
To handle this scenario,



Transfer between Twin Phones
When a twin phone calls its own extension, the call is not sent to the calling phone but to all others registered to the object. This allows a user to transfer a call from one of his twin phones to another (e.g. from the fixed line phone to the DECT phone to leave the desk while keeping the call).
Do not Disturb

In DnD mode, the phone will not ring on incoming calls. There are






Hiding an Object from the PBX Directory
Directories are used whenever an outgoing call is initiated with a name dialled instead of a number. Even more, the directories may be searched for a matching number when an incoming call without name identification is received (depending on the Disable Phonenumber Look-up setting).
Sometimes however, the object information should rather be hidden to other users so that they cannot locate the object via the directory. In this case,

You have a PBX object in your configuration that is called Facsimile. The Facsimile has Number 9, so you will see it in the search result list when you simply press the 9 key on the phone (or you long-press 3 three times to get an f).



Applying basic Properties to a Number of Objects




If the Config Template should be valid on all of your PBXs (if you have more than one), leave PBX and Node empty (this is actually how the Install created the Config User and Config Admin templates - as it is a very rare situation that you don't want to make a template available in all PBXs).

From Richard Roe's phone, call 12 and wait 6 seconds. See what happens!
The call should be forwarded to Edward Hyde after exactly 5 seconds. Notice the display on Edward Hyde's phone, it indicates that Richard Roe originally called Jane Doe:


Managing Phone Configurations
While this is easy and convenient, it turns out to be a problem when many phones need to be managed. Often, similar settings shall be applied to several phones, which is difficult and error prone to do. Also, when a phone is replaced, its configuration needs to be restored from a recent backup.
This is why the user-specific part of the phone configuration can be stored in the PBX. To


You will find a link in the Phone column of the PBX's

When you need to set these options for many users (which is very likely!), you can set them in a Config Template object rather and assign it to the users. We'll look at this in the next chapter.
Cleaning up existing Phone Configurations
When you set the Store Phone Config check-mark, normally, any existing configuration on a phone is retrieved and saved in the PBX's phone configuration. This ensures that existing configurations on the phone are not lost. The phone configuration is cleared then (so that all configuration is now stored on the PBX).
However, it is possible to discard any configuration present on the phone. See the

Using Templates for Phone Configurations



If the object itself has a phone configuration stored in the PBX, the template's and the object's configuration are merged and then applied to the actual phone.


So please
check if the Store Phone Config and Discard Config on Phone check-mark in the Config User template (so that phone configurations are stored on the PBX and existing configurations on the phones are discarded) is set. This should have been done by the Install
- Recreate the function key (same parameters) as part of the Config User template this time
- delete the function key definition from John Doe's User object
- All user objects (Edward Hyde, Henry Jekyll, Jane Doe, John Doe and Richard Roe) will receive the function key through the Config User template.
Have a look at Edward Hyde's home screen on the IP232 (you may need to switch to the home screen by touching the home symbol):
You see the the No CF function key on the screen's lower right, as we have assigned it to Key (that is, position) 8. Touch on the function key and see how the call forwarding state is indicated .



Groups




What a group is
A group defines a set of PBX objects that in some way belong together. This is used a lot in the PBX, for example to define call pickup groups. The administrator would assign group membership to all team members and then allow pickup for this group.
Group membership alone does not do anything, neither passive nor active membership. However, groups are used to configure various other features.
A single object may belong to many groups.
Inner Group Relationships
Not all group members are the same, as group membership can be active or passive.
When a group member is active, it can somehow be viewed as a group leader. In our call pickup example, active members of the group can pick calls from passive members - but not the other way round.
There can be more than one active member in a group. In fact, all members of a group can be active. In our pickup example that would mean that all group members can pick calls from all other group members.
Objects can be an active member in one group and a passive member in another. Objects can also be active members of more than one group.
Limitations
Groups are limited to 2000 members. Groups are known to a single PBX only. If another PBX has a group even with the same name, it is a different group.
Group names can be chosen freely. However, for better manageability, we recommend to use group names that clearly indicate that the name is for a group (such as group-pickup-team1 for example).
While it is possible to use the Name of existing PBX objects as a group name, it is not recommended!
Defining groups is costly. The PBX needs to track record of all group memberships and thus consumes internal memory (RAM). So do not assign users to groups unless it is really necessary!
Active group membership is even more costly, as it requires the PBX to check group members in many situations and thus consumes CPU cycles! So do not assign users active group membership unless it is really necessary!
The Partner Function Key


Subscriptions
The Partner key uses a mechanism known as subscription to obtain the partner's call information. In addition to that, it can optionally also subscribe for Presence information. This is controlled by ticking (or un-ticking) the Subscribe for Dialog Info and Subscribe for Presence check-marks.
Still, the subscribing user must be entitled to the information. Otherwise, the subscription will not receive any information.
Groups
When the subscribing user is an active member in the same group as the subscribed-to user, subscription rights are granted.
Visibility
Users can define visibility rights which are

The following are available for visibility right entries:
- the
the Group check-mark is ticked and Name is a group name:
Each active member of the group is granted visibility - otherwise the Name in the entry is an @ followed by a domain name (e.g. @dvl-ckl2.net) an:
Users from that domain are granted visibility. The domain of a PBX user is the value of the System Name property inPBX / Config - if the Use as Domain check-mark is ticked - otherwise the Name in the entry is a single @:
This is a catch-all and is effective if no other entry matches - the Name in the entry is the Name of another user (name or name@domain):
this particular user is granted visibility
- Online: see if the user has a myApps client running
- Presence: see presence activity
- Presence note: see the presence note
- On the phone: see if the user has an active phone call
- Calls: see call information without peers
- Calls with numbers: see also call peers (in addition the Calls information)
- Visible: see that the user exists (e.g. find it in the Users App)
Operation
When a call alerts at the partner object, the function key will signal it and pressing the key will have this call alert on the users phone. Depending on the various check-marks in the definition, the behavior of the function key can be modified.
The Hide calling Party in alerting State, Hide calling Party in ringback State and Show connected Party in busy State control the display of calling/called party information.
The Do not pick up an alerting Call disables the call pickup function.
However, the Partner function key can do much more as we will see in the next chapters.
Partner function keys seem to be a useful thing to have and we should provide them for all of our users. A straight forward approach is to configure it in a template.
There is only one problem: when we do this in a template, then every user that inherits the template has a Partner function key, which is good. But they all will share the same configuration and thus will have the same partner! This does not sound that useful.

Add a Partner function key to template Config User at position 4
- set Text for the Idle State to Partner #1
- tick the Subscribe for Dialog Info, Subscribe for Presence and Show connected Party in busy State check-marks
At this point, the Partner #1 key appears on all the phones. However, they are still not functional as we have not defined any Partner Identification.
- open John Doe's phone configuration from the PBX's object list
- you see the
Partner #1 key definition , which is inherited from the template
- open the definition and type Richard as Text in the Idle State and richard.roe as Name in the Partner Identification
- from Edward Hyde's phone, call Richard Roe (13), do not take the call
You expected to see Edward's call to Richard so you can pick it? Not so!
- take the call. Now you see
the On the phone note on John's partner key

- there are no settings specifically set for him
- he inherits visibility settings from the Config User template
- in these settings, On the phone is granted to everyone in the system (@dvl-ckl2.net) but Calls and Calls with Number are not

tick the Calls with Number check-mark in the Config User template's Visibility settings
- power cycle John Doe's IP111 (this is the fastest way to re-do the partner key subscription
)
- call again from Edward to Richard (13), dont' take the call
At this point, you will see the call indicated on John Doe's phone and you can pick it.

- on Jane Doe's IP112 press and hold the function key next to the Partner #1 label
- the function key editor opens
- press the
key on the right side of the Text: field
- enter johnny into the Text: field
- enter 14 (John Doe's Number) into the Number: field (you need to scroll down a bit)
- save your settings
- the function key label now has changed to johnny
Jane could have done that herself
- from Edward Hyde's phone, call John Doe (14)

Monitoring the Partner's Busy State
Monitoring the Partner's Presence State


Busy vs. Presence State
A user's presence state is different from his busy state. The busy state includes phone usage information only, that is, if the user has a call, if it is alerting or connected, which numbers are involved. The presence state instead only has a condensed notion of the user's phone activity (the so-called on-the-phone state element). However, in addition to that, further information such as an activity (available, away, busy, do not disturb), a user defined note or the general ability to receive instant messages may be included in the presence state. In fact, presence states can be utterly complex, but most software currently available will only make use of the elements mentioned.


Group pickup
- configure the name of the group, prefixed with a dot (.) as Name in the Partner Identification section. The dot indicates to the PBX that the Name is a group and not a user
- select Default as Partner Type
- tick Subscribe for Dialog Info to obtain the call information for the group

- put Jane Doe, John Doe and Richard Roe in to group group-Team-2. Make sure Richard Roe is an active member
- open Richard Roe's phone configuration from the PBX's object list
- we will
open the Partner #1 key , which is inherited from the template
open the configuration and type Group Pickup as Text in the Idle State and .group-Team-2 as Name in the Partner Identification
- Call John Doe (14) from Edward Hyde (IP232)
- You will see
the alerting call indicated on Richard Roe's phone
- Press the partner key we just created
The call from Edward Hyde to John Doe will now alert at Richard Doe's phone too
- You can now go off-hook on Richard Roe's phone and you are connected to Edward Hyde

Calling the Partner and Intrusion
The function key can be configured such that when the partner is already engaged in a conversation, the call is initiated as an intrusion call. An intrusion call connects immediately and creates an implicit 3 way conference between the active call before the intrusion and the intrusion call. The intruder is then part of the intruded call.
The partner function key is configured for intrusion, by

Intrusion must also be enabled on the intruding phone by

By default, both parties of the original call will hear an intrusion tone. This can be disabled though

The Partner function key can be configured such that the call is silently intruded to. Instead of creating a 3 way conference, this intrusion type will create a uni-directional channel from the intruded phone to the intruder. The intruder will not be heard by the original call parties and no intrusion tone is sent. This type of intrusion is configured by



- enable call intrusion for Jane Doe's phone (tick Enable Call Intrusion)
- configure call intrusion on Jane Doe's Partner function key in conference mode (tick Perform Intrusion if Partner is busy and select Type Conference)
- From John Doe's IP111, call Edward Hyde (11), take the call
- The call is indicated at Jane Doe's function key
- Press the Partner function key on Jane Doe's IP112
Jane breaks into John's call and the intrusion is indicated on Jane's display . Both John and Edward hear the local intrusion tone.
Note that when Jane talks, both John and Edward will hear her. When you change the Type setting in Jane's function key definition to Silent Monitoring and intrude the next call, Jane will not be heard by neither John nor Edward.
The Dial Function Key

However, when the Send in Active Call property is set in the function key configuration, no new call will be created in this case. The digits from its Number property are sent within the current call instead. If the call was already connected, the digits are sent as DTMF. If not, the digits are sent like single digits sent in overlapped dialling mode.
When no call is present, and the Prepare property is set in the function key configuration, the phone will go into the prepared dialing mode just like as if you had dialed the digits of the destination number on the phone's keypad. You then have the chance to edit the number before you go off hook and initiate the call.

- Add
a Dial function key to the Config User template on position (Key) #3
- Set the Text to Fire Alarm
- Set the Number to 0112 (0 will be our trunk line access code, 112 is the fire brigade (at least in Germany))
Announcement Calls


For this to work, announcement calls must be


The destination phone may choose to reject any incoming announcement call for a given registration by

By default, the announcement call is connected and the destination phone's microphone is turned off. This way, silent surveillance of a room is inhibited. If surveillance is desired, the destination phone needs to

A phone can be configured to accept any call as an announcement call, even those that have not been initiated as such. This can be done by setting the Treat Incoming as Announcement property for this phone.
Unless the Reject if Busy property is set, any announcement call takes precedence over currently active calls (except if the currently active call is an announcement call too). That is, any currently active call on the destination phone when an announcement call comes in is put on hold and the connected announcement will become the active call.

Add a Dial function key for Jane Doe on position (Key) #2
- Also
allow outgoing announcement calls for her
Turn on the Reject if Busy and Micro on properties for Edward Hyde