Assigning Buttons
From Bizfon Wiki
Background
When companies are moving to VoIP technology, they expect that the new system works similar to existing TDM-based installations. A common reason for grief is the usage of the buttons of the phones, which were usually used for parking calls and watching other extensions.
Unfortunately, the IETF so far denied the request for a pragmatic solution. The "official proposal" so far for addressing this problem RFC 4235 has too much overhead and cannot address problems like DND buttons or shared lines.
In the end, the PBX needs a mechanism to turn lights on and off and to tell the phone what should be done in case when the user pushes a button. In order to solve this problem, the pbx uses the "buttons" package to tell the phone what needs to be done.
Button Profiles
Most of the phones in a domain will have the same button programming. Therefore, the button programming is done by defining button profiles. Those profiles can be assigned on extension level (see the picture below).
In order to set button profiles up, you need to go to the domain settings. There is a submenu called "Buttons". You will see a screen like the one below.
By clicking on the icons, you can edit, copy or delete the profile. If you want to create a new profile, you can do so at the bottom of the dialog.
If you click on edit, the PBX will show you the list of the buttons that have been defined for that profile.
The “Name” field contains the name of the button on the device. Typically, the buttons are named numerically, for example "1", "2", "3" and so forth.
Button Types
The "Type" field can be one of the following. Depending on the "Type" field, the "Parameter" field has a changing meaning.
- Not Assigned. In this case, this key has no function.
- Private Line. This means that the key can be used as device-dependent line. In this case, the PBX does not interfere with the allocation of a line for that device and the line allocation is performed locally on the endpoint.
- Shared Line. If this option is selected, the PBX uses this key for managing a shared line. The parameter for this type is the name of a CO-line in the domain.
- Extension. If you want to monitor another extension, you must use this type and use the extension name as parameter. There are two modes. The "on phone" mode provides only limited information and can be used for phones that have just a LED or a small screen associated with the key. The extended mode provides additional information like if the extension is on DND and has voicemail, which makes sense for an software extension board.
- Service Flag. If you want to monitor a service flag, you may use this type. If the service flag can be manually changed (not the automatic, time-dependant mode) then pressing the key will change the state of the service flag.
- Park Orbit. If you want to assign a park orbit to the button, you need to select this type and provide the name of the extension where calls should be parked. When the user pushes this button, the PBX will park the last call on that park orbit. A blinking button light makes it possible to pick a parked call up.
- DND. If you want to assign the DND functionality to a button you can do so. For this type, you don’t have to provide a parameter. The PBX will automatically set the LED on the button according to the extension’s state. Because the state is shared amongst all registered devices for the extension, this mode is very useful when you register more than one device to an extension.
- Agent login/logout. This mode is similar to the DND button, but it controls the agent login status.
- Speed Dial. If you just want to program a fixed destination, you can use this type. If the destination is a extension, then the PBX will use the lights like in the extension mode. No matter what the status of the extension is, this button will just ask the phone to dial the number. No pickup is possible.



