Administration Manual
Transcription
Administration Manual
Administration Manual Series: 3.12 Rev.: 08-05-2015 Web: www.kalliopepbx.it Technical support: http://ticket.netresults.it - [email protected] Administration Manual -1- Rev.: 08-05-2015 Correct disposal of batteries and electronic devices Batteries composition: Lithium (Applicable in countries with separate collection systems) This marking on the battery, manual or packaging indicates that the batteries in this product should not be disposed of with other household waste. Where marked, the chemical symbols Hg, Cd or Pb indicate that the battery contains mercury, cadmium or lead above the reference levels in EC Directive 2006/66. If batteries are not properly disposed of, these substances can cause harm to human health or the environment. To protect natural resources and to promote material reuse, please separate batteries from other type of waste and recycle them through your local, free battery return system. Please contact your local County Office or the device reseller for further info on how to properly dispose batteries and the device itself. Support In case of malfunctioning please contact your reseller. NetResults S.r.l. Via Agostino Bassi, 5 – 56121 Ospedaletto (PI) Tel. +39 050 3163658 Web: http://www.netresults.it – E-mail: [email protected] Administration Manual -2- Rev.: 15-02-2015 Index Chapter 1 System Management .......................................................................8 1.1 Introduction .......................................................................................8 1.2 Administration GUI ...............................................................................9 1.3 A General Overview ............................................................................ 10 1.3.1 Phone calls originated from a PBX extension .......................................... 11 1.3.2 Incoming calls ................................................................................ 12 Chapter 2 System Menu .............................................................................. 14 2.1 Status ............................................................................................. 14 2.1.1 Firmware version ............................................................................ 14 2.1.2 Date and time................................................................................ 14 2.1.3 VoIP Services ................................................................................. 15 2.1.4 SIP PnP Service .............................................................................. 15 2.2 Network .......................................................................................... 16 2.3 Network Services ............................................................................... 17 2.3.1 NAT Traversal via external IP ............................................................. 18 2.4 SNMP .............................................................................................. 18 2.5 Firmware Update ............................................................................... 19 2.5.1 Update Process .............................................................................. 19 2.6 AMI ................................................................................................ 21 2.7 Configuration Backup .......................................................................... 21 2.8 KCTI/Web GUI Users ........................................................................... 22 2.9 Administrator Settings ......................................................................... 24 2.10 High Availability ................................................................................ 24 2.10.1 Enabling HA ............................................................................... 25 2.10.2 Disabling HA .............................................................................. 28 2.11 Licenses .......................................................................................... 29 2.11.1 G.729 Licenses ........................................................................... 29 2.11.2 Kalliope Licenses ......................................................................... 31 Chapter 3 PBX Menu .................................................................................. 32 3.1 Extensions ....................................................................................... 32 3.1.1 Global Settings .............................................................................. 32 3.1.2 Local Extensions ............................................................................. 34 3.1.3 Add or modify a local extension .......................................................... 35 3.1.4 Importing custom lists of extensions from CSV/XLS files ............................ 41 3.1.5 Remote extensions .......................................................................... 42 3.2 Call Groups and Automatic Call Distribuition.............................................. 43 3.2.1 Call Groups ................................................................................... 44 3.2.2 Automatic Call Distribuition ............................................................... 45 3.3 Gateway .......................................................................................... 48 3.3.1 Options ........................................................................................ 48 3.3.2 Gateways/VoIP Terminations and Trunks ............................................... 50 3.4 IVR................................................................................................. 61 3.5 Features .......................................................................................... 62 3.5.1 On-call Services ............................................................................. 63 3.5.2 SIP Settings ................................................................................... 64 3.5.3 Voice Mailbox ................................................................................ 64 3.5.4 Audio Codec Selection...................................................................... 64 3.6 Incoming Calls Policy .......................................................................... 65 3.6.1 Opening Time Check ........................................................................ 65 3.6.2 Incoming Calls Policy ....................................................................... 67 3.6.3 Callback Service ............................................................................. 68 Administration Manual -3- Rev.: 15-02-2015 3.6.4 DISA Service .................................................................................. 69 3.7 Numbering Plan ................................................................................. 69 3.7.1 Call-pickup Group ........................................................................... 70 3.7.2 Direct Pickup ................................................................................. 71 3.7.3 Call Pickup with Invitation ................................................................ 71 3.7.4 Callback Request ............................................................................ 71 3.7.5 Echo Service.................................................................................. 71 3.7.6 Voice Mailbox ................................................................................ 71 3.7.7 Audioconference Service .................................................................. 71 3.7.8 DISA Service .................................................................................. 71 3.7.9 Electronic Lock .............................................................................. 71 3.7.10 Unconditional Forward .................................................................. 71 3.7.11 Call Tagging (available with the optional Call Center module) ................. 72 3.7.12 Spy call supervision ...................................................................... 72 3.7.13 Dual Ring .................................................................................. 72 3.7.14 Call Parking ............................................................................... 72 3.8 Outbound Routing .............................................................................. 74 Chapter 4 PBX Applications ......................................................................... 76 4.1 External API ..................................................................................... 76 4.2 MeetMe Conference ............................................................................ 78 Chapter 5 Phonebook ................................................................................ 80 5.1 Phonebook ....................................................................................... 80 5.1.1 ‘Admin’ login................................................................................. 80 5.1.2 ‘User’ login ................................................................................... 83 5.2 Publish extensions on LDAP ................................................................... 85 5.3 Publish Shared Phonebook on LDAP ......................................................... 86 5.4 Import from LDAP .............................................................................. 86 Chapter 6 CDR ......................................................................................... 88 6.1 Call Detail Record .............................................................................. 88 Chapter 7 - Call Recording ............................................................................ 90 Chapter 8 - Troubleshooting .......................................................................... 91 Chapter 9 Provisioning ............................................................................... 92 9.1 Auto-provisioning procedure ................................................................. 92 9.2 Provisioning procedure steps ................................................................. 93 9.2.1 Extensions creation ......................................................................... 93 9.2.2 Devices configuration ...................................................................... 93 9.2.3 Configuration Template definition ....................................................... 94 9.2.4 Configuration file creation ................................................................ 95 9.2.5 Yealink phones templates ................................................................. 97 9.2.6 Linksys phones templates .................................................................. 97 9.2.7 Snom phone templates ..................................................................... 98 Chapter 10 File Manager .............................................................................. 99 10.1 Audio Files ....................................................................................... 99 Appendix A: Provisioning .................................................................................. 101 Administration Manual -4- Rev.: 15-02-2015 Figures Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 1.1 Login screen .......................................................................................8 1.2 KalliopePBX configuration interface ..........................................................9 2.1 System Status ................................................................................ 14 2.2 Manual date and time setting ................................................................ 15 2.3 System Network ............................................................................. 16 2.4 System Network Services .................................................................. 17 2.5 System NAT Traversal ...................................................................... 18 2.6 System SNMP ................................................................................. 18 2.7 System Update .............................................................................. 19 2.8 'Reboot with secondary firmware' button .................................................. 20 2.9 System AMI ................................................................................... 21 2.10 System Backup ............................................................................. 21 2.11 Restoring configuration backup ............................................................ 22 2.12 Alert of uncomplete restore process ...................................................... 22 2.13 System Web GUI Users ..................................................................... 23 2.14 System User access credentials screen ................................................ 23 2.15 System Settings ............................................................................ 24 2.16 HA configuration screen ..................................................................... 25 2.17 HA status screen, acquisition in process .................................................. 26 2.18 HA status screen, acquisition complete .................................................. 26 2.19 HA status screen, pairing is not possible ................................................. 27 2.20 HA status screen, HA is enabled on South node ......................................... 27 2.21 HA status screen, ongoing pairing ......................................................... 27 2.22 HA North node status screen, pairing process complete ............................... 28 2.23 HA South node screen, pairing complete ................................................. 28 2.24 System Licenses............................................................................ 29 2.25 G.729 License Key Activation screen (Digium License) ................................ 30 2.26 G.729 License Key Activation screen (Personal Info) ................................... 30 3.1 PBX Extensions .............................................................................. 32 3.2 PBX Extensions Global Settings ....................................................... 32 3.3 Extensions unlock screen...................................................................... 33 3.4 Failover actions configuration screen ...................................................... 34 3.5 Extension configuration screen, Account .................................................. 35 3.6 Extension configuration screen, Identity ................................................... 36 3.7 Extension configuration screen, Publication .............................................. 37 3.8 Extension configuration screen, Call-Pickup Group ...................................... 37 3.9 Extension configuration screen, Outbound calls .......................................... 38 3.10 Extension configuration screen, Voice mailbox ......................................... 38 3.11 Extension configuration screen, Failover actions ....................................... 39 3.12 Extension configuration screen, Busy Lamp Field ....................................... 39 3.13 Codec Selection ............................................................................... 40 3.14 Extension configuration screen, Call Recording ......................................... 40 3.15 Extensions import process ................................................................... 41 3.16 Extensions recapitulation screen ........................................................... 42 3.17 List of remote extensions.................................................................... 42 3.18 Remote extensions editing screen ......................................................... 42 3.19 PBX Call Groups ............................................................................ 43 3.20 Call Group editing screen ................................................................... 44 3.21 Call Group Time Check ....................................................................... 45 3.22 Enabling Call Recording for Call Groups .................................................. 45 3.23 ACD editing screen ............................................................................ 46 3.24 ACD editing, Members ........................................................................ 46 3.25 ACD editing, Callers .......................................................................... 47 3.26 Global options for outbound calls .......................................................... 48 3.27 Gatewats/VoIP Terminations and Trunks ................................................. 50 Administration Manual -5- Rev.: 15-02-2015 Figure 3.28 Add/Editing Gateway screen ................................................................ 52 Figure 3.29 PBX Gateways Add/Edit Gateway, DID configuration screen .................. 54 Figure 3.30 PBX Gateway Add new VoIP termination, VoIP domain selection ............. 55 Figure 3.31 PBX Gateway Add new VoIP termination, Account .............................. 56 Figure 3.32 PBX Gateway Add new VoIP Termination, Configuration ....................... 56 Figure 3.33 PBX Gateway Add new VoIP Termination, Outbound Calls Policy ............. 56 Figure 3.34 PBX Gateway Add new VoIP Termination, DID configuration screen ......... 57 Figure 3.35 VoIP Domain summary screen............................................................... 57 Figure 3.36 PBX Gateway Add new Trunk, Outbound Calls Policy ........................... 59 Figure 3.37 PBX Gateway Add new Trunk, Remote numbering range ....................... 59 Figure 3.38 PBX Gateway Add New Balancer .................................................... 60 Figure 3.39 PBX IVR ...................................................................................... 61 Figure 3.40 IVR Configuration ............................................................................. 61 Figure 3.41 PBX Features ............................................................................... 63 Figure 3.42 PBX Incoming Calls Policy ................................................................ 65 Figure 3.43 Time Check configuration screen .......................................................... 66 Figure 3.44 Closing days configuration screen .......................................................... 66 Figure 3.45 Opening time configuration screen ........................................................ 67 Figure 3.46 Callback service configuration .............................................................. 68 Figure 3.47 Callback enabled numbers configuration screen ........................................ 68 Figure 3.48 DISA Service configuration screen ......................................................... 69 Figure 3.49 PBX Internal Numbering Plan ............................................................ 70 Figure 3.50 PBX Internal Numbering Plan, Services configuration screen ..................... 70 Figure 3.51 Internal Numbering Plan, Custom Numbering Plan rules .............................. 72 Figure 3.52 Custom Numbering Plan rules configuration screen .................................... 73 Figure 3.53 PBX Numbering Plan, Local and Remote Extensions and Outbound Routing .... 73 Figure 3.54 PBX Outbound routing .................................................................... 74 Figure 4.1 New external API configuration, Global settings ......................................... 76 Figure 4.2 New external API configuration, Parameters acquisition ............................... 77 Figure 4.3 New external API configuration, Actions configuration ................................. 78 Figure 5.1 Phonebook ....................................................................................... 80 Figure 5.2 Shared Phonebook section .................................................................... 81 Figure 5.3 Add new contact to Personal/Shared Phonebook screen ................................ 82 Figure 5.4 Import from CSV/XLS screen ................................................................. 82 Figure 5.5 Contacts Import preview ...................................................................... 83 Figure 5.6 Personal Phonebook section .................................................................. 83 Figure 5.7 Publish extensions on LDAP screen .......................................................... 85 Figure 5.8 Import from LDAP screen ..................................................................... 86 Figure 5.9 LDAP server settings ........................................................................... 86 Figure 6.1 Call Detail Record .............................................................................. 88 Figure 6.2 Personal CDR .................................................................................... 89 Figure 7.1 Call Recording Call Recording settings .................................................. 90 Figure 7.2 Local storage screen ........................................................................... 90 Figure 8.1 Troubleshooting screen ........................................................................ 91 Figure 8.2 Processing capture ............................................................................. 91 Figure 9.1 Provisioning procedure, devices configuration ............................................ 93 Figure 9.2 Adding new provisioning device ............................................................. 93 Figure 9.3 Adding new template .......................................................................... 94 Figure 9.4 Loading a configuration template ........................................................... 94 Figure 9.5 Template management screen ............................................................... 94 Figure 9.6 Built-in editor for online template editing ................................................ 95 Figure 9.7 Device/Extension/Template connection ................................................... 95 Figure 9.8 Provisioning configuration files management screen .................................... 96 Figure 10.1 PBX File Manager Sounds ............................................................. 99 Administration Manual -6- Rev.: 15-02-2015 Tables Table Table Table Table Table 1.1 9.1 9.2 9.3 9.4 Default values ......................................................................................9 Provisioning, Supported phone models ...................................................... 92 Placeholder available for Yealink provisioning templates ............................... 97 XML TAGs for Linksys phones provisioning .................................................. 98 Snom provisioning templates placeholders ................................................. 98 Administration Manual -7- Rev.: 15-02-2015 System Management Chapter 1 - 1.1 Introduction KalliopePBX system can be configured through the integrated web interface, this allows the user to modify system settings (network parameters, administration password etc.) and to carry out those operations required to manage the PBX system. User can access the KalliopePBX configuration interface through a web browser, using HTTP or HTTPS protocol. In case of using HTTPS protocol the browser will show an error message related to the security certificate, which is self-signed by an internal Certification Authority (CA) and unknown to the browser. In order to continue, user must accept such security certificate following the instructions. KalliopePBX web interface is provided with two different authorization levels: administrator level (level 10) and user level (level 3). User level can be enabled by the administrator, for each extestion, assigning it a username and a password (set during the creation of the extension). Username and password can be modified (both by the administrator or by the single user) in the tab System Gui Users. In addition, administrator can enable or disable the access to the web interface for each single user. For further information on the PBX user access please see paragraph 2.8. Kalliope default IP address is 192.168.0.100. Figure 1.1 shows KalliopePBX login screen. Administrator can login typing his password and clicking on the button ‘Administrator Login’, while users must provide their username, password and domain associated to the extension, and eventually click on the button ‘User Login’. Users associated to local extensions must select “local”, in case of remote extensions’ users, it is possible to choose the corresponding domain from a drop-down menu. KalliopePBX login screen displays some useful information about the system: in the left corner there are KalliopePBX Part Number and Serial Number (in this format: NR/Kxxxxxx) related to the device is use, while on the right one it is indicated the running firmware version. Figure 1.1 Login screen This chapter deals with the administrator level access, user level access will be took in consideration in another section. Here below, in Table 1.1, are the default values needed for the first access to the web interface and the administrator default password. Administration Manual -8- Rev.: 15-02-2015 Parameter Default value IP Address 192.168.0.100 Netmask 255.255.255.0 Default gateway 192.168.0.1 Administrator password admin Table 1.1 Default values 1.2 Administration GUI Figure 1.2 shows KalliopePBX configuration interface at administrator level, it is organized into a double level menu. Figure 1.2 KalliopePBX configuration interface With the selection of a tab on the first level, it will be shown the relative submenu on the second level. The first level menu is composed by the following categories: - PBX: this menu allows the administrator to configure PBX specific features. In particular, it is possible to create and manage: local and remote extensions, call Administration Manual -9- Rev.: 15-02-2015 - - - - - groups, ACD, outbound lines (gateways or VoIP devices), incoming and outbound calls routing, opening and closing time, custom and system audio files. PBX Applications: this menu permits to configure advanced services such as “External APIs” introduced with firmware release 3.9.5. System: this menu allows a global configuration and management of the device. In this section administrator can set network parameters, manage firmware updates and system configuration backups, set up the High Availability system (matching the switchboard with another KalliopePBX device) and manage additional licenses (such as G.729 transcoding licenses). Phonebook: this menu allows the administrator to manage contacts, available for click-to-call service. In addition, it is possible to configure LDAP servers in order to download external phonebooks or export local phonebooks, both to a file or to the KalliopePBX embedded LDAP server. Logs: this menu allows the consultation of CDR (Call Detail Record) entries stored on the device. The administrator can consult all the PBX call records, while the user can acccess only those records related to his own account. When Kalliope CallCenter module is active, this menu will also show the Call Center CDR and a history of events related to the PBX (such as CTI: login/logoff, CALL CENTER: pause/unpause, add/remove dynamic operator, start/stop audio supervision). Call Recording: this menu allows the administrator to set parameters related to phone calls recording (on-demand recording, unconditional recording, recording for incoming and/or outbound phone calls). In addition, it is possible to manage the recorded calls stored on the internal KalliopePBX flash memory or on an external USB drive. Troubleshooting: a set of tools useful for troubleshooting is here available. Provisioning: thanks to this function it is possible to create a configuration file intended for some VoIP phones models. File Manager: the administrator can find here some tools to upload audio files, to convert them to G.711 and G.729 (with the purchase of a license) and to upload files to the root folder on the embedded TFTP server. In the top left corner it can be found the ‘Logout’ button. Next to the ‘Logout’ button there is a news box (information concerning the release of a firmware update appears here). The selection of the language is available in the bottom right corner, clicking on the ‘+’ button an extended list of languages is displayed. Firmware release 3.9.6 introduces Spanish as new i7nterface language, in addition to Italian and English. Links to the product and producer website, credits and download page are available in the bottom left corner. Accessing the system as an unpriviliged user, only some of the previous features are available: CDR (only user’s own phone calls are displayed), phonebook (it includes a personal user phonebook section) and a tab that allows to manage user’s log-in credentials. 1.3 A General Overview In order to perform a change to KalliopePBX settings, user must follow a two-step procedure (Save and Apply). It is possible to perform and save several changes and, eventually, apply them with a single click on the ‘Apply’ button. Attention: not applied changes are stored in a volatile memory, in case of an accidental reboot of the device, any change will be lost. Not applied changes can be ignored restoring the previous configuration. Here below an overview about incoming and outbound phone calls management. Each VoIP phone (material ones as well as SoftPhones) must correspond to a KalliopePBX user. Users are identified by an extension associated to the device. VoIP devices periodically communicate their locations to KalliopePBX which keeps an updated list. Each extension can be associated to one and only one location at a time. In case of an Administration Manual - 10 - Rev.: 15-02-2015 extension associated to two different devices, its location will be automatically assigned considering the last update. As for extensions, the configuration process is needed also for gateways (SIP-to-ISDN, SIP-toPSTN or SIP-to-GSM), VoIP devices and VoIP Trunks that allow the PBX to access the telephone network. KalliopePBX main task is to allow comunication between extensions, but also between an extension and an external phone (both a traditional or a VoIP one). In addition to this, KalliopePBX offers functions such as audioconference room, voice mailbox, call transfer and others switchboard services. 1.3.1 Phone calls originated from a PBX extension The number dialed by the user is managed by KalliopePBX according to an Internal Numbering Plan which defines a set of rules in order to match the user action, as follows: 1. Telephone services 2. Speed-dial (custom and system-wide) 3. Custom selection associated to call groups, ACD, etc. 4. Local extensions 5. Remote ranges of extensions (accessible via the configurable phone trunks) 6. Outbound line reservation using a reservation code associated with a single gateway/Trunk/VoIP Termination 7. Outbound line reservation using the LCR rules associated to the PBX user. Internal Numbering Plan is available in the tab PBX Numbering Plan. Such screen is divided into two columns, in the left one it is displayed the dial selections, while in the right one the associated calls destinations. The Numbering Plan is browsed sequencially and responds to the first match rule. The first positive match defines the call destination. In order to reserve the outbound line, the prefix is 0 (or 0*). It is possible to omit such prefix selecting the dedicated checkbox in the tab PBX Outbound Routing; the switchboard will automatically decide whether the call is an internal one or must be routed outside. A ‘reservation line code’ can be associated to each gateway, VoIP Termination or Trunk registered on the PBX; this numeric code must precede the called number. The phone call will be routed using the corresponding line, in spite of the caller class and the call routing rules (optional in firmware version 3.9.0 or greater). Thanks to this code users can overlook default KalliopePBX routing rules. Note: in order to allow users to place outbound calls it is necessary to configure at least one outbound line as the default outbound call route. Administration Manual - 11 - Rev.: 15-02-2015 Moreover, it is possible to assign to each extension a specific LCR class consisting in a set of LCR rules. Such rules define outbound calls routing. If ENUM support is enabled for a specific LCR rule, the outbound line routing is preceded by an ENUM resolution on the configured ENUM domains. If the ENUM resolution is successful, the call is forwarded using the destination domain, or one of the configured VoIP Termination or Trunk; on the contrary, whether this process cannot be completed successfully, KalliopePBX will forward the call using the outbound line associated to the rule. 1.3.2 Incoming calls The way an incoming call is managed by the PBX depends on the set of features that have been enabled on the gateway and on the PBX itself 1, such as the DID (Direct Inward Dialing), welcome message, opening time check, default call destination. Incoming calls enter the switchboard through one of the available incoming lines (gateways or VoIP Terminations 2 ). KalliopePBX verifies if a DID is defined on the incoming line for the called number3; if a positive match is found, it is performed the action associated to the called number. Available actions are: Forward the call to: o a specific PBX extension o a call group o an ACD o an IVR menu or submenu o an opening time check o an audioconference room o a DISA service. Forward the call to the default destination. In case of negative match, the call is forwarded to a ‘catch-all’ destination, the available actions for this destination are the same of the previous case. Both for DID and ‘catch-all’ destinations, incoming calls are submitted to the rules configured in the tab PBX Incoming Call Management. Such rules are: If a welcome message is configured, it is played when the call is answered, otherwise the call is forwarded to the next step. The call is forwarded to a destination selected from a drop-down menu. 1 For incoming calls originated from an external range of extensions please see VoIP Trunks configuration. 2 VoIP Trunks are managed differently, the called number is forwarded to the Internal Numbering Plan; exceptions to such behavior can be configured in the DID section. 3 A single gateway can, indeed, be associated to several geographical numbers; for instance when an ISDN PRI line or multiple ISDB BRI access are available. Administration Manual - 12 - Rev.: 15-02-2015 One of the possible destinations is the opening check time; it is organized into a two-steps process: The actual time and date of the incoming call is compared with a set of days and time defined as closing days; it gives the user the possibility to set holidays and special events not weekly recurring. The actual time and date of the incoming call is compared with a set of days and time defined as weekly closing days. When a closing date and time is matched, the user has the possibility to configure an audio message (a backdoor code to force the call can be configured) and eventually performs one of the following actions: o Hang up o Forward the call to an extension o Forward the call to a call group (with or without a different opening time check) o Forward the call to an ACD (with or without a different opening time check) o Forward the call to a user voice mailbox o Forward the call to an IVR menu o Forward the call to an external phone number (availability), it is also possible to configure the gateway used for the outbound calls o Forward the call to another opening time check. When no closing time and date is matched, the incoming call undergoes a specific action configured from a dropdown menu similar to the previous one. Note: call routing can be redefined for each number available on a gateway (or VoIP Termination) through the setting of the DID. In this case, the call is forwarded to the configured destination (call group, ACD, extension, IVR) passing over the incoming calls rules and the welcome message. Callers’ numbers can be preceded (optionally) by the prefix 0*, in order to give the user the possibility to recall them directly from the call history on his phone. Administration Manual - 13 - Rev.: 15-02-2015 Chapter 2 - System Menu 2.1 Status Figure 2.1 System Status The tab ‘Status’ offers an overview about KalliopePBX, in particular: Model and Serial Number, non-volatile storage (free space on the disk), current firmware version and available updates, CPU load and temperature4, and current time. 2.1.1 Firmware version For a detailed description of KalliopePBX firmware management please see ‘Firmware Update’. 2.1.2 Date and time Time is synchronized using NTP, a set of geographical servers or user’s custom time (editable in System Network). It is possible to force synchronization by clicking on the button ‘Synchronize now’. It is also possible, by clicking on the pencil icon, to set a temporary different time and date, useful to test opening check time, for example. Time will be automatically reset through NTP after five minutes, as shown in Figure 2.2. 4 Such information is available only with KalliopePBX-V3. Administration Manual - 14 - Rev.: 15-02-2015 Figure 2.2 Manual date and time setting If the NTP server cannot be reached, user time and date settings will remain operational until any further modification. From firmware release 3.9.6 it is possible to set the time zone from a drop-down menu. The change is immediately operative, the page must be refreshed in order to display the updated time. Note: it is necessary to check periodically system date and time since closing time check depends on their correct setting. In case of a switchboard without any access to NTP, the system clock can show a considerable gap from the correct time. It is suggested to check weekly its accuracy. Concerning the disk space, KalliopePBX uses it to store CDRs, audio files (updated or recorded by the user), configuration backups and voice mailbox messages. 2.1.3 VoIP Services In this frame there are two buttons: the first allows the user to force the reload of PBX VoIP configuration (without interrupting the ongoing services), while the second allows the user to force a reboot of the telephone network (the ongoing calls will be aborted). From firmware release 3.12 it is possible to reboot the telephone engine using the “escaped mode”: the character # (if present) of the selection sent by KalliopePBX to a gateway or a VoIP provider is replaced by the escape sequence (%23). This change requires the reboot of VoIP service, so that the ongoing calls will be interrupted. 2.1.4 SIP PnP Service In this frame it is shown the daemon SIP PnP execution status. This feature is useful to automatically manage devices provisioning without any configuration on the DHCP server; when the daemon is running, PBX listens on multicast address 224.0.1.75:5060. When a telephone boots, the SIP PnP process requires it to send a message SIP SUBSCRIBE to this address. The message needs to include its trademark, model and MAC address. PnP service running on KalliopePBX receives such message and (for supported models 5) replies with a SIP NOTIFY message providing the phone with the IP address needed to download its configuration file created by KalliopePBX provisioning system. SIP PnP service can be manually launched or stopped by clicking on the button next to the status indicator. Changes are immediately applied, but not persistent after a reboot (automatic launch can be configured in the tab System Network Services). 5 Current supported models: Snom (MAC Addr: 00:04:13:xx:xx:xx), Gigaset Pro (MAC Addr: 7C:2F:80:xx:xx:xx) and Yealink (MAC Addr: 00:15:65:xx:xx:xx). Administration Manual - 15 - Rev.: 15-02-2015 2.2 Network Figure 2.3 System Network In the tab ‘Network’ user can configure settings related to IP addresses, DNS and routing. With firmware release 3.9.3, multiple network interfaces are supported (available only for models with multiple physical network interfaces such as KPBX-V3-R, KPBX-V3-R-OPT-FO, KPBX-V3-MED800 hosted within the OSN modules of Audiocodes Mediant 800 devices and for virtual appliance KPBX-V3-ESX which supports an arbitrary number of interfaces). In the frame ‘Network Configuration’ are shown available interfaces and, for each of them, it can be assigned a satic IP address (and relative subnet mask) or it can be enabled the automatic IP assignment via DHCP. Moreover, it is possible to configure DNS server’s IP address, as well as one or more static routes. Further than the default route (0.0.0.0/0), an arbitrary number of routes can be configured (in the compact format x.x.x.x/NN) specifying, for each of them, the related gateway. PBX system checks whether the gateway belongs or not to one of the connected subnets, if not it prevents the input of such entry. Whether High Availability option is enabled, ‘Network Configuration’ frame is available in read-only mode; in order to modify such values it is needed to disable High Availability option since any change could break the coherent configuration of HA nodes. Note: an erroneous configuration of network parameters (IP address and subnet mask) may cause the unavailability of the PBX interface. Please double-check the accuracy of these values before applying any change. Note: it is available a software tool (Kdiscovery) useful to scan LAN and find any KalliopePBX installed, as well as their IP addresses, firmware versions, etc. Administration Manual - 16 - Rev.: 15-02-2015 2.3 Network Services In this tab several parameters related to network services can be configured. Figure 2.4 System Network Services In the first frame it is possible to manage PBX clock synchronization choosing between default NTP servers (NTP server randomly chosen from [0,1,2,3].debian.pool.ntp.org) or a specific server, providing IP address and the corresponding radio. The following checkbox enables or disables automatic launch of SIP PnP Service at PBX boot. In the SMPT frame it is possible to configure SMPT parameters needed by KalliopePBX to send e-mail messages (in particular voice mailbox notifications, with or without attachment, and administrator notifications, for example an available firmware update). Administrator e-mail address is used by KalliopePBX both, as addressee for notification messages and as sender, except for those related to voice mailbox whose sender is specified in PBX Features. Other parameters required are: SMTP server name or IP address and port (default port is 25) SMTP credentials (username and password) to log on SMTP server (only AUTH LOGIN is supported) Optional support for STARTTLS (when available on the server) to encrypt delivering mail. The button ‘Test e-mail configuration’ allows to test the correct functioning of configured settings. E-mail testing uses the current operative configuration on KalliopePBX, in case of unsaved changes or saved but not applied changes, the system will not take them into consideration. Administration Manual - 17 - Rev.: 15-02-2015 2.3.1 NAT Traversal via external IP NAT Traversal can be useful, for example, when the switchboard is on a private local network, behind a NAT, and uses a VoIP Trunk of an operator whose VoIP platform does not correctly support NAT Traversal. Another example could be when KalliopePBX needs to access phone extensions that are out of the NAT (configured with a public IP address, while KalliopePBX is configured with a private IP address). To enable this feature, it must be provided the external public IP address for which the NAT is realized. The activation of the NAT Traversal entails all SIP signals from KalliopePBX to be modified as if the switchboard were configured with a public IP address (IP addresses of different SIP URI, IP addresses of different RTP media flows specificied in SDP, etc). Figure 2.5 System NAT Traversal Saving the NAT Traversal configuration will automatically configure the localnets, that are exceptions to this rule for which KalliopePBX will not modify the SIP signals (since they communicate directly with the PBX and do not use the NAT system). It is also possible to configure further localnets in order to manage additional subnets (accessible by KalliopePBX through routing) for which the configuration of a public IP would prevent any communication with PBX. 2.4 SNMP This tab allows the user to enable or disable the integrated SNMP agent and to modify the community string used to read data. In addition, it is possible to modify the ‘System Location’ and ‘System Contact’ OIDs. KalliopePBX integrates the standard Net-SNMP agent. Figure 2.6 System SNMP Administration Manual - 18 - Rev.: 15-02-2015 2.5 Firmware Update Figure 2.7 System Update Through this menu it is possible to verify the availability of a new software release, to download from the server and to install it. The screen shows the firmware version in use and a list of updates available for download. In case the most recent release is unknown, it is possible to click on the button ‘Check for updates now’ to download a list of available updates. In addition, KalliopePBX can automatically check for updates (daily or weekly) when this option is enabled. Note: by clicking on ‘Save settings’ the automatic updates check is immediately enabled. Normally, firmware updates must be installed sequencially, that is, the installation of a recent update is not allowed whether the previous versions are missing. When several updates are available, it is suggested to install the most recent one. Whether an older version is needed to update to a newer one, the latter will appear in grey and a notification will be displayed. Usually, within the same major release, it is not necessary to install each intermediate version (for example, if 3.6.0 is running on the PBX it is possible to update to 3.6.6 without installing 3.6.1). On the contrary, to update to a different major release, a necessary step is required (for example, if 3.5.5 is running on the PBX it is not possible to update to 3.6.6 without installing previously 3.6.0). Whether ‘High Availability’ option is enabled, it is possible to check for updates but not to install them in order to prevent a possible incoherence between the HA cluster nodes. To complete a firmware update, ‘High Availability’ option must be previoulsy disabled. 2.5.1 Update Process KalliopePBX is provided with two non-volatile storage areas dedicated to firmware files. Such areas contain the main firmware and the secondary one. Normally, the main firmware is the one in use. When a new release is available, the new firmware is installed on the secondary area. It is suggested to backup and download the configuration files before proceeding with the update. KalliopePBX automatically stores a configuration backup in a dedicated area. Administration Manual - 19 - Rev.: 15-02-2015 When the update process is complete, it will be displayed a button to reboot the PBX with the secondary new firmware (please see Figure 2.8). Whether the boot with the new firmware causes problems, a simple reset of the switchboard will make the PBX boot with the old firmware version still stored in the main area. Figure 2.8 'Reboot with secondary firmware' button Normally, the reboot with secondary firmware is successful. Logging in as administrator, KalliopePBX will display a message notifying that secondary firmware is running; it is suggested to check the correct functioning of the system before completing the update process. It is possible to decide whether confirm the new update as the main one or restore the previous version. When the user decides to apply permanently the new firmware, a reboot is performed; the secondary firmware is now the main one, while the previous version is stored as secondary firmware. Note: if the High-Availability option is enabled the update is not allowed. Please disable the High-Availability option and proceed with the update; after a successfull update process the High-Availability option can be reenabled. Please note: it is possible to restore the previous firmware version in any moment by clicking on the button ‘Reboot system using secondary firmware’ (System Status) and selecting this choice as permanent. Main firmware and secondary firmware are associated to their own configuration files; if secondary firmware is restored, its last configuration is recovered. Administration Manual - 20 - Rev.: 15-02-2015 2.6 AMI It is possible to integrate external applications that use AMI (Asterisk Manager Interface). This panel permits to define the authentication credentials and an ACL constituted by one or more IP addresses/subnets. Figure 2.9 System AMI The defined user has read permissions “call” and write permissions “call,originate”. The AMI port is 55038 and not the standard 5038. 2.7 Configuration Backup Figure 2.10 System Backup Configuration backups can be created through the relative tab; these are stored on KalliopePBX memory disk but it is suggested a download. Backups are associated to the firmware version in use; it is not possible to restore a backup created on a firmware version different from the one in use. Note: remember to create a configuration backup each time a change and/or a firmware update occur (backups created with previous versions are not compatible with a new one). Backups can include phonebook and/or custom audio files uploaded on KalliopePBX. Moreover, a short annotation can be added, it will be shown when restoring the backup. If Administration Manual - 21 - Rev.: 15-02-2015 custom audio files exceed the available space on disk, backup process could fail and no archive will be created; if so, custom audio files can be manually downloaded from the tab ‘File Manager’. Once restored the configuration backup, such files can be uploaded and, if mantaining the same name, they are automatically recognized by the PBX. Restore process can be launched by clicking on the button ‘Restore Backup’ associated to the desired backup. Figure 2.11 Restoring configuration backup A window containing some backup details is shown (date and time, user annotation, firmware version, saved data); user can specify what to restore or not. Clicking on ‘Restore Backup’ the configuration file is loaded and shown to the user, but not applied. Administrator can check and, possibly, modify saved settings before making the configuration backup operative. During this phase, the access at user level is disabled (an explicative message is shown), while an alert warns the administrator that a restore operation has not been completed and should be finalized or aborted (Figure 2.12Errore. L'origine riferimento non è stata trovata.). Figure 2.12 Alert of uncomplete restore process As a final step of this process, the configuration backup is saved and made operative. NOTE: when configuration backup is loaded but not restored, phonebook and custom audio files shown are not those included in the backup file, but those in use at the moment of the launch of the restore process. Backup phonebook and custom audio files will be shown when the restore process is finalized. 2.8 KCTI/Web GUI Users In this tab administrator can manage users’ credentials (needed to login the GUI and KalliopeCTI application). Administrator can enable or disable access for specific users, assign them Kalliope applications licenses (such as KalliopeCTI Pro or Phone and the new Kalliope Operator Seat), assign Call-center role (operator or supervisor) if the corresponding license has been activated on the PBX. Administration Manual - 22 - Rev.: 15-02-2015 When a new extenstion is registered (both local or remote), it is automatically added to the list shown in this panel. For local extensions, default credentials are the same as SIP credentials (username and password) defined in the extensions tab. For remote extensions no password is assigned and the web access in disabled; in order to enable web access for remote extensions, a password must be assigned by the administrator. Figure 2.13 System Web GUI Users Figure 2.14 System User access credentials screen For each extension (both local or remote), either administrator than user can modify credentials. When changing a username, CDR and personal Phonebook keep linked to the user extension. Figure 2.13 shows a list of extensions; for each extension it is displayed status, username and assigned licenses. For remote extensions it is also shown the trunk domains used to reach them; each remote user must select its trunk domain from a drop-down menu when logging in. Administration Manual - 23 - Rev.: 15-02-2015 To modify users’ credentials (Figure 2.14), administrator must click on the modify button. In this screen administrator can: modify username, modify or assign password, assign editing privileges concernign the Shared Phonebook and assign the licenses to enable the use of the relative applications. Changes perfomed in this screen are immediately operative, no save or apply is needed. When KalliopePhone is running, PBX automatically performs phone SIP provisioning with the credentials of the extension linked to the KalliopeCTI user. A license can be assigned only to one user at time (KalliopePhone licenses are not linked to the user, but do not admit a simultaneous use). 2.9 Administrator Settings Figure 2.15 System Settings PBX administrator can change WEB GUI admin access password (username cannot be modified). In order to complete such operation, old password and new one must be provided, clicking on ‘Save’ button the process is finalized. In the same way privacy password can be modified, such password is needed to disable masking for telephone numbers stored in the CDR tab. Note: clicking on ‘Save’ button changes are immediately operative. 2.10 High Availability High Availability (HA) option permits to connect two KalliopePBX switchboards making them operate in 1+1 redundancy, in Active-Backup mode. Changes performed on the active PBX are syncronized on the backup PBX, including CDRs. In case of a fail of the active PBX, the backup PBX automatically becomes the active one; settings and data are restored in few seconds. Administration Manual - 24 - Rev.: 15-02-2015 During the switch, phone calls are aborted while devices registration keeps functioning in order to guarantee a fast recovery of the routing activity. HA configuration requires a pairing process between two KalliopePBX devices. Pairing process can be achieved with a KalliopePBX FO kit (FailOver, a master full-function node plus a slave node) or with two KalliopePBX master devices. Slave devices can operate only as a part of a HA cluster. Such devices have a limited WEB GUI: only administration and HA paring functions are enabled. In case of a fail in the cluster, slave device keeps working regularly for a month, after such period slave PBX stops working until a new pairing process is performed. When HA pairing is performed between two master PBX devices, in case of a fail of the active PBX, the backup one will keep fully working without any time restriction. 2.10.1 Enabling HA To enable HA function, PBX administrator must click on the ‘Activate’ button in the tab System High Availability. Once the HA option is enabled, the cluster can be configured on one of the nodes. Configuration is automatically transferred to the second device during the pairing process. In order to perform a successful pairing process, the two PBX devices need to run the same firmware version. Figure 2.16 HA configuration screen The configuration sender node is called ‘North’, the receiver one is called ‘South’. During the pairing process, configuration settings (including CDRs and Phonebook) on the ‘North’ node are transferred to the ‘South’ node overwriting any previous configuration. In the following example, HA is enabled only on the ‘North’ node. HA configuration requires: ‘South’ node serial number and IP address, and cluster IP address 6. Both nodes need to be on the same Layer 2, HA cluster IP address must pertain to the same IP subnet of the ‘North’ node. In case of two physical PBX devices equipped with a serial port, it is suggested to use a null-modem serial cable (DB9 F/F serial cable included in –OPT-FO models). HA configuration progresses through different steps: 6 This is main difference with 3.9.2 firmware releases and older. In such firmware releases HA IP address was set to the coordinator node address and a new IP address had to be assigned to the coordinator. Starting from firmware release 3.9.3, resources (SIP engine, web GUI, KCTI service) are available on an IP different from the nodes ones, so that each node is always reachable at its own IP address whatever tha HA status is. Administration Manual - 25 - Rev.: 15-02-2015 ‘Enabled’ checkbox: indicates if HA is enabled on that specific device ‘Sync’ radio button: indicates the devices involved into data exchange and syncronization ‘Default active’ selection: it gives the user the possibility to choose on which node HA option must be default active7 a list of IP addresses must be provided, each node uses them to test network correct functioning. Clicking on ‘Save and start HA’, the HA service is enabled on the ‘North’ node; the screen will show the cluster status. Until the pairing is not complete the ‘North’ node WEB GUI can be reached through its IP address, once the HA cluster is operative such node can be reached through the HA cluster IP address. In Figure 2.17 HA is not enabled on the ‘South’ node, indeed the corresponding indicator is red. ‘North’ node has not acquired the ‘South’ node yet, in fact both nodes are shown as ‘inactive’. Figure 2.17 HA status screen, acquisition in process The acquisition process takes few seconds, once it is concluded, the ‘North’ node appears as the active node (please see Figure 2.18). The black marker above one of the nodes indicates which WEB GUI is in use.8 Figure 2.18 HA status screen, acquisition complete 7 8 In previous releases, HA was always active on the node with lower Serial Number. Useful in case of access through the node IP address. Administration Manual - 26 - Rev.: 15-02-2015 Since HA option is not enabled on the ‘South’ node, pairing process cannot be successfully finalized as shown below in Figure 2.19. Figure 2.19 HA status screen, pairing is not possible It is now possible to enable the HA service on the ‘South’ node; configuration is automatically imported from the ‘North’ one. Figure 2.20 HA status screen, HA is enabled on South node ‘Execute Pairing’ button appears now, clicking on it pairing process is launched: HA configuration and PBX configuration are transferred from ‘North’ to ‘South’ node and nonstop syncronization between the devices is started. As shown in Figure 2.21 pairing in now in progress. Figure 2.21 HA status screen, ongoing pairing When pairing process is complete, ‘South’ node HA status indicator turns green and the cluster becomes operative. ‘Eth Link Status’ indicates that data exchange between nodes is functioning in a correct way. Administration Manual - 27 - Rev.: 15-02-2015 Figure 2.22 HA North node status screen, pairing process complete ‘Go Standby’ button forces a switch between ‘North’ and ‘South’ nodes, the latter becomes now the active node. Such function is useful in case of the active node needs device maintenance. The ‘Acquire resources’ button, in Figure 2.23, permits the ‘South’ node to acquire resources from the ‘North’ one, this operation turns the former into the active node and leaves the latter on standby. Figure 2.23 HA South node screen, pairing complete 2.10.2 Disabling HA It is possible to disable HA function on both, active or standby node. Disabling HA on the standby node, service is disabled only on such node; the active node keeps on working normally, no disruption will affect the system. The HA cluster is demoted but still running, such operation can be useful in case of device maintenance or replacement; when standby node is reactivated, HA service must be manually enabled. Disabling HA on a backup node, VoIP services on such node are aborted, an alert message is displayed and a device reboot is needed. Note: reboot does not affect HA enabled status, when nodes boot again last HA configuration is recovered. If HA is enabled on both nodes and they are not able to communicate each other, both nodes could acquire resources simultaneously. Administration Manual - 28 - Rev.: 15-02-2015 Disabling HA on the active node, HA service is aborted on both nodes. Nodes are now independent and the cluster is disabled; to reactivate the cluster it must be followed the enabling procedure (please see paragraph 2.10.1). 2.11 Licenses Figure 2.24 System Licenses In this tab G.729 license (available on Digium Store) and KCTI Pro/KalliopePhone licenses can be activated. 2.11.1 G.729 Licenses For each G.729 license several information is displayed: License Activation Key Licensed channels License expiration date License Activation Status Licenses files are available for download; in case of a device fail, such files can be uploaded with no need to reactivate the licenses. Clicking on the button ‘Activate New License’, license activation page is displayed, two sections must be filled: ‘Digium License’ and ‘Personal Info’. In the ‘Digium License’ section it must be provided: Product Type: user must select, from a drop-down menu, which product license intends to activate. License Activation Key: alphanumeric key previously provided by Digium. Administration Manual - 29 - Rev.: 15-02-2015 Figure 2.25 G.729 License Key Activation screen (Digium License) In the ‘Personal Info’ section user information must be provided, as shown in Figure 2.26. Figure 2.26 G.729 License Key Activation screen (Personal Info) In order to successfully complete license activation procedure, please check Digium server availability clicking on the dedicated button9; the license can be now activated through the button ‘Activate Now’. Note: when HA is enabled, each node must be equipped with its own G.729 license. Licenses are associated to the specific device and cannot be transferred. 9 Server could be displayed as unreachable even when it is actually available. License activation could be correctly completed even when ‘Server is unreachable’ message is displayed. Administration Manual - 30 - Rev.: 15-02-2015 2.11.2 Kalliope Licenses KCTI Pro and KalliopePhone licenses are distributed as ‘.lic’ files; such files are associated to KalliopePBX Serial Number. When a valid license file is uploaded, it automatically appears in the available list of licenses. A free KalliopePhone license is pre-activated on each KalliopePBX, administrator can assign such license to one user at a time. From firmware release 3.10, it is available a new licensed module called Kalliope Call-Center: such module adds new functionalities specifically developed for call-center needs: Advanced management of operators’ status for each specific queue Dynamic operators (managed by Supervisor users) Automatic callback on busy operators, this allows the caller to reserve a callback by typing the key 5 and providing his phone number Support for the application Kalliope Supervisor Panel (available on Windows) that allows to access all the statistics related to the queues and operators and perform actions like adding or removing dynamic operators from a queue CallCenter CDR, that is, an advanced log that contains details on incoming calls managed by waiting queues such as Total Waiting Time, Conversation Time, Operator who answered the call etc. With firmware release 3.11 it has been added the fuction Spy/Whisper/Barge supervision: by configuring a service’s prefix in the Numbering Plan, the Supervisor users can supervise operators dialing the prefix plus the operator number. The supervision’s begin/end is notified to the operators by a customizable audio message. Supervisor users can choose between three types of supervision: Spy (key 4) Whisper (key 5) and Barge (key 6). The supervision activity events are saved in the KalliopePBX logs and are available from the panel “Logs” “PBX Events”. Administration Manual - 31 - Rev.: 15-02-2015 Chapter 3 - PBX Menu 3.1 Extensions Figure 3.1 PBX Extensions ‘Extensions’ tab allows the administrator to define local extensions (username and secret SIP identify each extension) and associate them an identity and relative authorizations. It is also possible to manage remote extensions, that is, those external ranges of extensions accessible via VoIP trunks. ‘Extensions’ tab is subdivided into three sections: local extensions global settings are shown in the first one, while lists of local and remote extensions are displayed in the other two. 3.1.1 Global Settings Figure 3.2 PBX Extensions Global Settings Administration Manual - 32 - Rev.: 15-02-2015 In the ‘Global settings’ section several parameters, valid for every extension, can be defined. Such parameters are: Default ringing timeout: defined in seconds (valid for calls coming from extensions or from outside the network). This value is not valid for calls addressed to call groups and ACD (which have their own ringing timeout, please see 3.1.3.1). Expiration maximum time allowed for extensions registration: defined in seconds and valid for every extension. With small values, extensions send a registration request more often; this permits to reduce unavailability time after a PBX reboot. This value also affects ACL; in fact, ACL is applied only after a registration request (if an extension IP address is not included in an ACL, such extension can continue to make phone calls until its next registration). Enable or disable return call to transferer if transfer destination is busy, not available or not answering (only if failover action configured for that extension is ‘hang up’, otherwise the transferred phone call will behave as configured as failover action). ACL (Access Control List): this function permits to define a subnet (IP address and netmask) from which KalliopePBX accepts extensions’ registrations. Such ACL can be modified for each extension. Electronic lock: with the firmware release 3.9.6 it has been added the possibility to assign an additional LCR class, valid only when the extension is locked. This new feature permits to place calls to pre-defined numbers (such as emergency or availability ones) even if the extension status is locked. By checking the relative checkbox such function is globally enabled; two parameters can be set: Unlock mode and Unlock policy. This configuration is valid for every extension; nevertheless, each extension configuration can be manually modified. Unlock mode indicates if extensions: are able to place a call (Open), need to insert an unlock code (default value is 850) or need to provide a password (Password). Unlock request permits to prevent unauthorized clients (such as dialers) to place calls. Unlock policy indicates for how long the unlock status is valid. Possible values are: ‘One shot’, unlock code or password must be provided each time a phone call is placed, ‘Relock after xx minutes’, a custom timeout value can be defined, ‘Unlocked until the peer lock it again’, the extension is unlocked until the lock code is typed (default value is 851). Any change applied to these parameters will cause a reset of extensions lock configuration. Figure 3.3 Extensions unlock screen Failover actions: permits to define the failover action to perform in case of: o o o No answer, ringing timeout exceeded; Busy; Unavailable, usually when the device is not registered on the PBX. Phone calls are, in addition, divided into incoming and outbound calls so that, on the whole, there are six different failover actions available. A message can be optionally played to the caller, possible failover actions are: Administration Manual - 33 - Rev.: 15-02-2015 Hang up; Forward to Forward to Forward to Forward to Forward to Forward to Forward to a specific extension; a call group (with or without the relative opening time check); an ACD (with or without the relative opening time check); a voice mailbox; an IVR menu or submenu; an external number, specifying the routing gateway to use; 10 an opening time check. When the failover action is ‘Hang up’, ‘Return to transferer’ option may be enabled for phone calls directly transferred to such extension. In this case, the call will return to the transferer and the number on the display will be preceded by an ‘R’. Figure 3.4 Failover actions configuration screen 3.1.2 Local Extensions Local extensions section shows the number of defined extensions, the number of licensed ones and the maximum number of extensions admitted (in case of a limited version of KalliopePBX). In the same form is available the following information for each extension: 10 Status (enabled or disabled) Extension Number Name and Last Name Extension LCR Class Call-pickup group associated to the extension Account registration status (red=not registered, green=registered) In this case caller ID displayed will be the extension number. Administration Manual - 34 - Rev.: 15-02-2015 PBX and VoIP device Round-Trip Time (RTT), useful in case of troubleshooting activity Device IP address and port User Agent, normally includes device model and current firmware version, it may also include device MAC address. Checkboxes on the left side of the screen allow the user to perform a multipe selection in order to apply a specific action (available from the drop-down menu at the bottom of the page) to more extensions at once. In addition, two shortcuts permit to add a new extension or to import a list of extensions from a CSV or XLS file. 3.1.3 Add or modify a local extension To add a new extension just click on the ‘Add new extension’ button at the bottom of the list of extensions. To modify an already existing extension just click on the edit button (pencil icon) or directly on the extension number. In both cases it will be displayed an extension configuration screen; such screen is divided into several frames. When adding a news extension, it is possible to clone the configuration from an existing one; this procedure is useful to speed up the creation of multiple extensions that share the same basic configuration. 3.1.3.1 Account Figure 3.5 Extension configuration screen, Account Account frame allows the user to modify several parameters: Extension Number: this entry only admits numerical values, it cannot be modified once user creation process is finalized. Extension number corresponds to the login username (also called UserID or AuthenticationID) needed to register the device on the PBX. Password: this entry admits alphanumerical values, between 3 and 30 characters. Password is needed to login when registering the device on the PBX. Administration Manual - 35 - Rev.: 15-02-2015 Note: it is important to adopt an extremely complex password in order to prevent brute-force attacks by automated dialers (external or internal to the local network) and unauthorized calls. Maximum concurrent calls: this value refers to the total amount of simultaneous call admitted for such extension (both incoming or outbound). If this value is 1, call transfer is not possible; in order to allow call transfer the minimum value to set is 2. To return a busy tone when the extension is already engaged in a conversation, the Call Waiting option must be disabled. Busy level: it indicates the number of calls admitted before the extension returns a busy tone. It is useful, for example, to disable the Call Waiting service by setting this value to 1. In case of secondary devices configured, this field indicates the maximum number of calls admitted by all the devices. ACL: allows to overwrite global ACL configuration for such extension. Extension Lock: allows to overwrite global lock configuration for such extension (global lock/unlock extension function must be enabled). Disable NAT support for this peer: this checkbox allows to disable NAT traversal for such extension. It is suggested to keep this function unchecked, but, for some telephone models, it must be selected in order to register the device on the PBX. Disable: this checkbox permits to temporary disable such extension; specific extension configuration is preserved. 3.1.3.2 Secondary devices Multiple SIP devices can be associated to the same main identity. Such devices have their own SIP credentials and account, but they share the identity of the main extension. Outbound calls placed by secondary devices will show the main identity number and, consequently, incoming calls are forwarded to all the secondary devices with a ring-all policy. In addition, it is possible to set a “busy level” to the main extension so that, when this level is reached, the extension returns a busy tone. The main extension BLF status considers the global use of all the associated devices. Each extension can have multiple secondary devices; for each device the system creates a KCTI/Web user so that KalliopeCTI licenses can be assigned (in fact, the secondary device could be a KalliopePhone). The list of secondary devices configured is available from the specific tab. In terms of configuration, secondary devices inherit all the settings from the main extension, except for ACL and codecs. 3.1.3.3 Identity Figure 3.6 Extension configuration screen, Identity Identity frame contains information about the user associated to such extension, in particular: Name, Last Name, Organization, Unit and Mobile Number. This information will be available on the extensions’ shared Phonebook. Mobile Number is user’s external number Administration Manual - 36 - Rev.: 15-02-2015 (usually a mobile number); FastXfer service uses such number to transfer phone calls from the extension to the mobile device and vice versa using a custom DTMF code. The options ‘Edit current user’ and ‘Create a new user instead of the current one’ affect Phonebook and CDRs; if a new user is created, previous Phonebook and CDRs will be deleted. 3.1.3.4 Publication on Phonebook Figure 3.7 Extension configuration screen, Publication Available publication options are: Disabled Enabled, with default LDAP settings rule Enabled, publishing the number in the box below Enabled, with default LDAP settings rule applied to the number in the box below (masking) 3.1.3.5 Call-pickup group Figure 3.8 Extension configuration screen, Call-Pickup Group This frame allows the creation of a group of extensions with the authorization of call-pickup, typing the pickup code *9 (followed by Enter button). The call-pickup group operates as follow: each user/extension belongs to a call-pickup group (by default all users belong to group 1) and is authorized to pickup incoming phone calls addressed to a member of such group; defaul call-pickup code is *9 but it can be modified in PBX Numbering Plan. Each extension can pickup phone calls addressed only to his group. Note: *9 code must be followed by the press of the Enter key on the phone (or wait for the digit-timeout set on the phone). Note: if multiple calls are ringing on extensions belonging to the same pickup group, *9 will pickup the most recent call. Administration Manual - 37 - Rev.: 15-02-2015 3.1.3.6 Outbound calls Figure 3.9 Extension configuration screen, Outbound calls ‘Outbound calls’ frame allows the user to assing two LCR classes (a primary one and a restricted one) to each extension; a set of LCR rules manage outbound calls routing. LCR class can be configured in PBX Outbound Routing. The restricted LCR class is valid when the extension status is locked and it is useful to place calls to pre-defined numbers (such as emergency ones). When the electronic lock is disabled, or the extension status is unlocked, the use of a gateway prefix bypasses the LCR routing configuration; users can, then, use a specific gateway overlooking the extension LCR rules. Whether the extension status is locked, the use of a gateway prefix permits to place a call only if the restricted LCR class admits it. 3.1.3.7 Voice mailbox Figure 3.10 Extension configuration screen, Voice mailbox In the Voice mailbox frame following parameters can be configured: Enable: this checkbox allows the user to enable voice mailbox for the spefic extension. Password: this entry only admits numerical characters. Users need this code to access their personal voice mailbox; the access can be allowed from inside or from outside the network. Notify new voice mailbox messages by e-mail: if enabled users’ email address must be provided. Discretionary, the voice message can be attached (as .wav file); in this case it is possible to configure the PBX to delete the voice message after sending the email. If this option is not enabled, voice messages are stored into users’ mailbox; users can access their mailbox anytime, from a local device or from an external one (if correctely set in PBX Features). Note: voice mailbox status indicates weather or not the user has an associated mailbox; an enabled status does not imply that missed calls to such extension will be forwarded to its voice mailbox. The actual forwarding to voice mailbox must be configured as failover action in case of missed calls for that specific extension. In order to access their own voice mailbox, users need to dial 801 (access code to voice mailbox service, it can be modified in PBX Numbering Plan). Users must provide mailbox number (the same as the extension number) and password in order to listen, delete or store voice messages. Administration Manual - 38 - Rev.: 15-02-2015 Note: by dialing 801, followed by the voice mailbox number (for example 801 100), user will be required to enter the password of the related mailbox. 3.1.3.8 Failover actions Figure 3.11 Extension configuration screen, Failover actions In this frame it is possible to re-define the failover actions to perform in case of busy, not answered call or not available user, overlooking what has been configured in the extensions’ ‘Global Settings’ panel. 3.1.3.9 Busy Lamp Field Figure 3.12 Extension configuration screen, Busy Lamp Field Through this frame it is possible to manage Busy Lamp Field function, that is, line status indicator; enabled devices can have a visual overview of busy extensions. Extensions line status can be displayed on one or more groups, selecting the relative checkbox. In order to successfully use this function, telephone devices must be correctly configured. Usually, a green LED associated to the relative extension indicates its free status, a red flashing LED indicates that the device associated to such extension in ringing, a permanted red LED indicates that the line is busy in another conversation. With compatible devices, PBX allows the pickup of a ringing line by typing the code **<extension>11. Such call pickup service does not take into consideration ‘call-pickup groups’ policy. 11 ** code is set by default, but it can be modified in PBX Internal Numbering Plan. Administration Manual - 39 - Rev.: 15-02-2015 3.1.3.10 Codec Selection Figure 3.13 Codec Selection The selection of the ‘Enable custom codec selection’ checkbox allows the user to overwrite global codec policy (PBX Features) for that specific extension. In case of incoming calls, PBX will follow the codec preference order configured in this frame. Whether the device supports video calls, user can also configure video codec preference order. 3.1.3.11 Call Recording Figure 3.14 Extension configuration screen, Call Recording In this frame call recording settings can be configured; such function can be enabled both, for incoming and for outbound calls, on request (by typing *1 to start and stop recording) or uncoditionally (PBX records the entire phone call). Note: call recording function must be previously enabled in global settings. If, for a specific extension, a globally not enabled option is selected, an alert message will be displayed and such feature will not be operative. Administration Manual - 40 - Rev.: 15-02-2015 3.1.4 Importing custom lists of extensions from CSV/XLS files Figure 3.15 Extensions import process Lists of extensions can be imported from a CSV/XLS file by clicking on the specific button. A CSV/XLS file, including the following columns (not necessarily in the same orden), is needed to complete such process: • EXTEN: extension number (required) • SECRET: authentication password (required) • GIVENNAME: user name (required) • SURNAME: user last name (required) • O: Organization or Company • OU: Office or Unit • VM_ENABLE: voice mailbox (enabled or not) • VM_PASSWORD: voice mailbox password • VM_NOTIFY: e-mail notification for new voice messages (enabled or not) • VM_EMAIL: e-mail address for new voice messages notifications • VM_ATTACH: attach audio messages to e-mail notifications (enabled or not) • VM_DELETE: delete voice messages if attached (enabled or not). For those fields that only admit boolean values, user must type 1 if enabled and 0 (or empty) if disabled. In addition, in case of CSV files, user can specify which character used as separator. Clicking on ‘Choose File’ button a file browser is displayed; user must select the extensions file to upload, specify if it is a CSV or a XLS, and, finally, click on ‘Upload’. In order to check for errors, a recapitulation of the uploading extensions is shown. Administration Manual - 41 - Rev.: 15-02-2015 Figure 3.16 Extensions recapitulation screen Whether one or more extensions are already registered on KalliopePBX, user can decide how to proceed: already existing extensions can be updated or overwritten. To finalize the importation just click on the ‘Import Now’ button. 3.1.5 Remote extensions Through this form user can assign extension identity and login credentials to some (or all) remote telephone numbers belonging to a Trunk. Figure 3.17 List of remote extensions For each telephone number it must be defined: extension number, identity (Name Last Name, Office or Unit, e-mail address) and specific Trunk. Figure 3.18 Remote extensions editing screen Administration Manual - 42 - Rev.: 15-02-2015 Remote extensions’ information can be shown on local Phonebook, by selecting the specific checkbox, or on LDAP Phonebook, specifying publication policy. Moreover, a specific LCR class can be assigned to each remote extension, overlooking general trunk LCR settings. 3.2 Call Groups and Automatic Call Distribuition Incoming calls (both from local extensions or from external lines) can be addressed to two different types of extensions groups, each with specific features and configuration: Call Groups ACD Call groups allow to define a specific order of ringing for a phone call directed to a group of extensions. According to a priority sequence, one or more extensions will ring; such sequence ends when one of the extensions picks up the call or when ringing timeout is reached. ACD manage incoming phone calls in a different way. Such calls are put on hold and forwarded (according to the arrival order) to the queue members; user can define ringing policy (simultaneous, round-robin, etc…). Figure 3.19 PBX Call Groups In the tab ‘Groups’ it is shown a list of configured groups and ACD; ‘Incoming group’ appears by default, it cannot be removed but only customized. Other call groups and ACD can be enabled or deleted by selecting the relative checkbox; clicking ‘Save’ button changes are applied. Administration Manual - 43 - Rev.: 15-02-2015 To modify an already existing call group or ACD, user must click on the pencil icon (column ‘Edit’). New call groups and ACD can be added by clicking on the specific link. 3.2.1 Call Groups Call groups can be reached through a specific IVR selection or a Direct Inward Dialing (DID) configured on a gateway. Figure 3.20 Call Group editing screen Each call group can include an arbitrary number of extensions; such extensions must be provided with a priority level. When all extensions with same priority level are busy (or ringing timeout is reached), PBX proceeds to forward the incoming call to a lower priority level. During this process, caller hears the dial tone or a hold on music (if configured). Whether no lower priority level extension is configured, the incoming call can be forwarded to a voice mailbox. 3.2.1.1 Configuration In the ‘Configuration’ section following settings can be edited: Call Group name: alphanumeric characters admitted Per priority ring duration: time interval (expressed in seconds) after which incoming calls are forwarded to lower priority level extensions, or, possibly, to a failover action. Members: extensions included into the call group and related priority level. Up to 10 priority levels are admitted. 3.2.1.2 Courtesy Messages In the ‘Courtesy Messages’ section user can: Administration Manual - 44 - Rev.: 15-02-2015 Define which audio file must be played in case of all extensions with lowest priority level are busy. If no audio file is configured, default audio message is "At the moment all operators are busy." Define which audio file must be played in case of all extensions with lowest priority level do not answer within the ringing timout. If no audio file is configured, default audio message is "At the moment operators are not available." 3.2.1.3 Failover action for unanswered and busy calls or unavailable extensions In case of unanswered and busy calls or unavailable extensions, available failover actions are those described in 3.1.3.8. 3.2.1.4 Call Group Time Check Figure 3.21 Call Group Time Check In this section a time check for each specific group can be configured. For further details on time check configuration please see 3.6.1. 3.2.1.5 Call Recording Figure 3.22 Enabling Call Recording for Call Groups In this section user can enable call recording for a group incoming calls (both unconditionally or on request, typing *1 to start and stop recording). 3.2.2 Automatic Call Distribuition Incoming calls addressed to call ACD are managed according to FIFO policy (First In First Out). Each ACD can include an arbitrary number of extensions. Administration Manual - 45 - Rev.: 15-02-2015 ACD configuration screen is organized similary to call groups’ one, small differences concern the ‘Configuration’ section. Figure 3.23 ACD editing screen In the ‘Configuration’ section following settings can be edited: ACD Name: alphanumeric characters admitted Maximum waiting time: maximum time (in seconds) within the pending call must be served. When the call is not served within this time, a failover action (defined in the ‘Failback for unanswered call for busy or unavailable’) is performed. Maximum number of callers allowed in the ACD: maximum number of calls the ACD can handle simultaneously (0 = unlimited). ACD priority: a priority level can be assigned to the ACD. Whether two, or more, concurrent phone calls are addressed to two, or more, different ACD with shared members, the highest priority ACD will be served first (higher value = higher priority). Within ‘Configuration’, two more frames must be configured: ‘Members’ and ‘Callers’. Figure 3.24 ACD editing, Members In ‘Members’ frame user can add/delete ACD members. In addition, it is possible to set several parameters valid for all ACD members: Ring strategy: different ring strategies are availabe (ring all, linear, least recent, fewest calls, random, round-robin) Administration Manual - 46 - Rev.: 15-02-2015 Per member ring duration: time interval (in seconds) defining how long each member’s device will ring. If timeout expires, calls can be forwarded again to that ACD member after a waiting time (corresponding to the following value). After all members time out, retry after: time interval (in seconds) that must be between two ringing cycles. Rest interval: time interval (in seconds) that must be between last completed call and the next one addressed to that ACD member. Play this message to the member who picks up the call: user can define which audio message must be played to the member who answers the call. Report caller holding time: if selected, PBX notifies to the member who answers the call how long the caller has been waiting. Forward calls also to busy members: if selected, incoming calls can be forwarded also to busy ACD members. Figure 3.25 ACD editing, Callers In ‘Callers’ frame it is possible to configure ACD policy towards the caller; user can define: Which welcome audio message must be played when a caller enters the ACD. What to do after the welcome message or, if no message is configured, when a caller enters the ACD. User can choose between playing the dial tone or a hold on music. Further options can be configured in ‘Position announcements’ and ‘Custom announcements’ frames. Position announcements: Periodically announce position in ACD: if enabled, caller will hear a message notifying his position in the queue. Announce the estimated waiting time: if enabled, a message will announce expected waiting time. Such message can be played once, when the caller enters in the ACD, or several times. Announce frequency: time interval (in seconds), indicates how often previous messages must be notified to the caller. Administration Manual - 47 - Rev.: 15-02-2015 Custom announcements: Play the file: if this checkbox is selected, user can configure which audio message must be played. Each: user can specify how often (in seconds) such message must be played. In addition, a DTMF code can be defined; typing this code the extension will manually start the play of a prerecorded message. Other features (failover action, time check and call recording) can be configured as shown in ‘Call Group’ paragraph, for more details please see 3.2.1. 3.3 Gateway In the ‘Gateway’ tab user can configure all incoming/outbound lines. KalliopePBX supports both, physical gateways (needed to connect local phone network to external analogical lines) and VoIP Terminations and Trunks, using standard SIP. Multiple gateways and VoIP Terminations and Trunks can be configured simultaneously on the PBX, each user can decide which outbound line intends to use. Usually, when a user dials an external number (prefixed by 0, line reservation code), KalliopePBX selects the routing line according to LCR (Least Cost Routing) Class assigned to the user and previously defined in PBX Outbound Routing. Line reservation code can be, optionally, disabled in PBX Outbound Routing. ‘Gateway’ configuration tab is divided into two forms: ‘Options’ (to set global paremeteres) and ‘Gateways/VoIP Terminations and Trunks’. 3.3.1 Options Figure 3.26 Global options for outbound calls In this form following options are available: Enable incoming calls from unknown peers: checkbox disabled by default. When KalliopePBX receives a phone call, it checks whether SIP From User Part matches with a local extension, a registered gateway or a configured Trunk VoIP. PBX automatically accepts such calls, no authetication is needed. Otherwise, if a call comes from an unknown domain, PBX rejects it. When this option is enabled, incoming calls from unknown domains are accepted and forwarded to the Internal Numbering Plan since specific routing cannot be applied to such calls. Administration Manual - 48 - Rev.: 15-02-2015 Note: please pay attention, when this function is enabled, external users can access internal Numbering Plan and place unauthorized outbound calls. Enable Ringing Courtesy Tone: if enabled, caller will hear a dial tone while the gateway is still routing outbound call, otherwise, no tone will be heard during the routing process. Note: at SIP protocol level, this option implies that a ‘180 Ringing’ message is sent to the caller even if such signal has not actually arrived. For external calls, it may create confusion in case of a busy addressee, in fact PBX will previously play a ringback tone and then a busy one. Moreover, when this option is enabled, pre-call provider messages (such as “user not available”) cannot be delivered to the caller. In fact, at SIP level, these messages are played when a ‘183 Session Progress’ message is sent. Timeout for outbound calls: user can specify time interval (in seconds) thereafter PBX considers an outbound call as ‘Not answered’. Balancer Traffic Profiles: these traffic profiles must be assigned to outbound lines used in a balancer. A balancer is a virtual gateway used to distribute outbound calls among several outbound physical lines in order to balance their use and set a utilization limit for each line (expressed in seconds for a specific period). By clicking on ‘Add new traffic profile’ a new profile can be created, user needs to set following parameters: Profile Name Limit (seconds per period) Type (seconds per month) Additional seconds when configured limit is reached. Administration Manual - 49 - Rev.: 15-02-2015 3.3.2 Gateways/VoIP Terminations and Trunks Figure 3.27 Gatewats/VoIP Terminations and Trunks This form is organized into three sections: Gateways, VoIP Trunks and Terminations, and Balancers. For each section, a recapitulatory list is available. Gateways: such devices can have a static configuration (an IP address must be assigned) or a dynamic configuration (the gateway must be registered on the PBX with SIP credentials). o Registration State (if dynamic) or SIP accessibility (if static) o Round-Trip Time (RTT) for a SIP message between PBX and Gateway o Gateway ID o Gateway Name o Gateway Selection Prefix o Maximum concurrent calls VoIP Terminations and Trunks: PBX registers on VoIP providers using one or more identities. In both cases outbound lines are grouped for registration domain. o For each domain, following information is shown: Domain SIP accessibility Round-Trip Time (RTT) for a SIP message between PBX and VoIP provider VoIP domain/server name (KalliopePBX supports both domain configurations, DNS SRV query and hostname/IP address) o Domain Name For VoIP Terminations and Trunks, following information is shown: Administration Manual - 50 - Rev.: 15-02-2015 Account Name Account Registration State (grey LED = registration is not operative) Type: Trunk or Termination Account Username (usually different from the authentication name, it may represent the geographical number associated to such account) Outbound Line Reservation Prefix Maximum concurrent calls There is a main difference between Terminations and Trunks: to the former only one phone number can be associated for each authentication login, while, to the latter more phone numbers (usually with a common prefix) can share the same credentials. For each item in the list, checkboxes to perform general actions are available: ‘Enable’ checkbox allows to enable/disable a specific outbound line, ‘Delete’ checkbox allows a multiple lines selection in order to delete them quickly from the PBX. Changes become operative clicking on the ‘Save’ button. If a checkbox is not editable, it is shown as faded; it means that such gateway is configured as default outbound line or assigned to a LCR rule. Moving the mouse over the faded checkbox, LCR rule information is shown. In order to disable/delete one of these outbound lines, it must be previously removed from the LCR rule configuration. Gateways, VoIP Terminations and Trunks settings can be modified by clicking on the pencil icon (column ‘Edit’) or directly on the item’s name. New Gateway, VoIP Terminations or Trunks can be added to the list by clicking on the dedicated buttons. For VoIP Terminations and Trunks user can define on which domain the VoIP trunk/termination must be created; such domain can be created, or selected from a set of preconfigured ones. For each domain, multiple trunks or terminations can be defined. Each trunk or termination can be used as an independent line for outbound calls; in case of incoming calls, instead, routing rules are defined in the ‘VoIP Domain’ section. 3.3.2.1 Add/Edit Gateway ‘Add/Edit Gateway’ tab in organized into five different sections: ‘Account’, ‘Configuration’, ‘Outbound Calls Policy’, ‘Direct Inward Dialing (DID)’ and ‘Codec Selection’. Administration Manual - 51 - Rev.: 15-02-2015 Figure 3.28 Add/Editing Gateway screen In the ‘Account’ section user can define following parameters: Gateway ID: used to identify the gateway in the PBX system. Only alphanumeric values admitted (no special characters), it must be unique (no other gateways, VoIP trunks or terminations, or extensions can have the same ID). Host: define whether the gateway is static or dynamic. o In case of static hosts, no gateway registration on the PBX is needed. IP address and port must be defined to identify and accept phone calls coming from such gateway. o In case of dynamic hosts, it is needed a gateway registration on the PBX using SIP credentials (username/password). Password field only admits alphanumeric values, between 3 and 30 characters. In such case, user can Administration Manual - 52 - Rev.: 15-02-2015 also decide if incoming calls need to be authenticated with registration credentials. On incoming calls, ignore the source port when recognizing the origin of the call: user can enable peer recognition based only on IP address (without any check on the source port). This option is useful when a firewall modifies SIP messages source port. Disable: this checkbox allows to temporarily disable the gateway; specific gateway configuration is preserved. In the ‘Configuration’ section user can define following parameters: Gateway Name: the name that will be displayed in selection lists and CDRs. Gateway Selection Prefix: (optional) it is a prefix used to explicitly select an outgoing line (bypassing LCR classes). Such prefix is automatically removed by the PBX when forwarding the call to the gateway. Backup Gateway: user can specify a backup gateway to use when a congestion (busy lines) or a fault occur on the gateway. In order to prevent cyclic call forwarding, it is important to avoid loops when defining the backup gateway. Maximum concurrent calls/Number of available lines: user can define how many concurrent calls a gateway can handle. When such limit is reached, a further call will not be allowed and a message will notify the user that all outgoing lines are busy. Note: when the maximum concurrent calls limit is reached, PBX does not forward further calls to such gateway and behave as if a congestion occurred. When no limit is defined, if gateway cannot handle an additional call (e.g. 2 concurrent calls on a gateway with a single ISDN BRI interface), such gateway refuses the call with a Failure Message (tipically a SIP ‘503 Intenal Server Error’ message). In the ‘Outbound Calls Policy’ section user can define the following parameters: Add this prefix to called number: user can define a prefix to add to the outbound number when forwarding a call to the gateway. DTMF send mode: DTMF sending policy when forwarding to such gateway (admitted options are RFC2833, SIP Info, Inband). Use this traffic profile for balancer: user can define which traffic profile must be applied to the gateway when a balancer is configured. Trust RPID/PAI: if enabled, the Remote Party or P-Asserted-Identity header must be trusted for calls with that specific gateway. Add P-Asserted-Identity header to outbound calls: P-Asserted-Identity header allows to display the caller identity on outbound calls. It is suggested not to enable such Administration Manual - 53 - Rev.: 15-02-2015 option since outbound calls could be refused when addressed devices do not support it. Enable send Call-Info: this checkbox allows to add the Call-Info field to SIP INVITE Header in the following format: Call-Info: <extension> ;purpose=info In the ‘Direct Inward Dialing (DID)’ section it is displayed a list of actions to perform in case of incoming calls addressed to phone numbers associated to such gateway. By clicking on the ‘Edit’ button user can open DID configuration screen. Figure 3.29 PBX Gateways Add/Edit Gateway, DID configuration screen In this screen user can define, or modify, which action must be applied to incoming calls addressed to the gateway. A specific action can be performed depending on the called number12 (Called Party Number -CDPN). For each number (with exact or prefix match) Callback service13 can be enabled; it must be also specified the outbound gateway to use for such service. More information on Callback service will be provided in ‘Incoming Calls Policy’ paragraph. Whether Callback service is disabled, or the incoming call number is not included into the callback list, such call will be forwarded to one of the following destinations: Default incoming destination (as configured in PBX Incoming Calls Policy) Internal Numbering Plan o Keeping the called number o Changing the called number to a specific value o Requiring the caller a selection Local (or remote) extension Callgroup or ACD (taking into consideration the relative opening time check) IVR menu/submenu Opering time check Audioconference service (optionally specifying the room) DISA service 12 In case of gateways with multiple ISDN port in multi-number mode or ISDN PRI lines with Short Numbers option enabled. 13 Callback service checks if caller number is included in a list defined in PBX Incoming Calls Policy. In case of positive match, PBX aborts the call, recalls the number and connects it to the desired destination using the configured gateway. Administration Manual - 54 - Rev.: 15-02-2015 Ignore the call (incoming call keeps on ringing, but PBX does not route it to any destination) Refuse the call (incoming call is rejected). In the ‘Codec Selection’ section it is possible to define a codec list valid for the specific gateway, overlooking the global settings configured in PBX Features. By selecting the checkbox ‘Enable custom codec selection’ user can define audio and video codec (supported codec are: PCM a-law, PCM u-law, G.729, G.722 and GSM for the audio, and H.261, h.263, H.263+ and H.264 for the video). 3.3.2.2 VoIP Terminations A new VoIP Termination can be created by clicking on the ‘Add new VoIP termination’ button. Each new termination must be associated to a VoIP domain (a preset or a new one) by selecting it from a drop-down menu. Figure 3.30 PBX Gateway Add new VoIP termination, VoIP domain selection As for the gateways, when adding a new VoIP termination the specific tab is organized into several sections: ‘VoIP Domain’, ‘Account’, ‘Configuration’, ‘Outbound Calls Policy’, ‘Direct Inward Dialing (DID)’ and ‘Codec Selection’. In the ‘VoIP Domain’ section user can define the following parameters (only for new domains): Name: VoIP Domain ID Domain/Server (port): server name (or domain, that will be converted to server name through a DNS SRV query) on which the new termination must be authenticated. Port must be specified only for server name (not for domain) and only if different from the default one (5060)14. Note: this section is editable only when creating a new VoIP domain. When a termination is assigned to an already existing domain such section is displayed in read-only mode. In addition, after initial configuration, it is possible to access domain configuration tab in order to define incoming calls policy (for example user can change the DTMF tones receive mode or supported codec). 14 If user inserts the default value 5060, it will be automatically removed when saving. Administration Manual - 55 - Rev.: 15-02-2015 Figure 3.31 PBX Gateway Add new VoIP termination, Account In the ‘Account’ section user can define the following parameters: VoIP Number/Account: alphanumeric characters admitted. Usually corresponds to the geographical number assigned by the VoIP provider; such number determines the DID incoming calls routing. Outbound calls from this termination will use this value as caller ID. Authentication Name: login used by the PBX to authenticate registrations and outgoing calls. It is not a strictly numerical value; when coinciding with the account name it can be omitted. Password: password used by the PBX to authenticate registrations and outgoing calls. This entry admits alphanumerical values, between 3 and 30 characters. Enable SIP registration: when PBX registration on the VoIP domain is not required this option can be disabled in order to prevent PBX to send periodic REGISTER messages to the domain. Disable: this checkbox allows to temporarily disable the termination, specific configuration is preserved. ‘Configuration’ section is comparable to the corresponding one when adding a new gateway. Figure 3.32 PBX Gateway Add new VoIP Termination, Configuration ‘Outboud Calls Policy’ section includes all the features available in the corresponding gateway section. In addition, user can modify source domain in the SIP URI "From:" header for outbound calls from this termination. By default, PBX uses termination registration domain, but, user can specify a different domain or IP address. Figure 3.33 PBX Gateway Add new VoIP Termination, Outbound Calls Policy Administration Manual - 56 - Rev.: 15-02-2015 Figure 3.34 PBX Gateway Add new VoIP Termination, DID configuration screen As for gateways, this section includes Callback service checkbox and gateway selection for such service. In the ‘Codec Selection’ section user can define a codec list associated to the specific termination, overlooking the global settings configured in PBX Features. Note: codec configuration related to specific VoIP terminations is only valid for outbound calls. Incoming calls codec selection depends on the VoIP domain configuration and it is valid for every termination associated to such domain. By clicking on a domain ID, it will be displayed a summary screen for such domain (including the terminations defined on it). Figure 3.35 VoIP Domain summary screen In such page user can modify domain name, server and port, but also: set the maximum concurrent calls admitted on this domain set the DTMF send mode for incoming calls Administration Manual - 57 - Rev.: 15-02-2015 ignore the source port when identifying the origin of the call extract the called number from the header “To:” instead of the “Request-URI”, which is the default behaviour. In the ‘Direct Inward Dialing (DID)’ section it is shown a list of DID rules related to the terminations configured on such domain. User can modify the incoming calls policy for each specific termination by clicking on the relative pencil icon. User can add DID rules for additional numbers by clicking on the button ‘Edit’. In case of multiple numbers assigned to a single extension, incoming calls routing can be managed differently for primary or secondary numbers. In case of outbound calls, displayed number will always be the primary one. In the ‘Codec Selection’ section user can define a codec list valid for the incoming calls addressed to that specific domain, overlooking the global settings configured in PBX Features. 3.3.2.3 VoIP Trunks In case of VoIP Trunks, it is provided a set of geographical numbers, mapped on PBX specific extensions. General configuration is similar to the VoIP Terminations one, except for: number masking for outbound calls, DID rules, remote numbering range (a set of numerical selections that becomes part of the PBX Internal Numbering Plan, allowing automatic routing through the trunk). As for VoIP Terminations, the PBX registers and logins on the provider platform. When PBX registration is not required, it is possible to disable it by selecting the dedicated checkbox. In case of VoIP Trunks, authentication credentials consist in the pair username/password, editable in ‘Account’ section. The main difference, with respect to VoIP Terminations, consists in the possibility to modify the outbound displayed numbers according to a mapping of the extension: Extension numbers remain unchanged Caller numbers are changed to a predetermined value Caller numbers are obtained: removing some digits from the top of the caller number and adding a prefix (for example, if user configure to remove one digit and add the prefix 050999, the call made from 123 extension will be displayed on the Trunk as 05099923). Administration Manual - 58 - Rev.: 15-02-2015 Figure 3.36 PBX Gateway Add new Trunk, Outbound Calls Policy Note: from firmware release 3.7.7, trunk outbound calls (after an ENUM query) display the Caller ID according to the rules of the trunk (and no longer according to the settings of the panel "ENUM", which has been deleted). With respect to incoming calls routing, DID rules must be set in the VoIP domain configuration page. By default, incoming calls routing forwards them to the Internal Numbering Plan. From firware release 3.8.0 it is possible to define remote numbering ranges, that is, sets of numbers reachable through the trunk and considered by the PBX as normal extensions. Such remote numbers are managed in a very similar way to the local extensions, they can: access Internal Numbering Plan, use KalliopePBX phone services or reserve an outbound line (according to the relative LCR class). In addition, remote numbers are included into the Internal Numbering Plan, so that other extensions (both local or remote) can directly contact them to their extension number (no routing prefix is needed). Figure 3.37 PBX Gateway Add new Trunk, Remote numbering range On the trunk in Figure 3.37 the following remote numbering range is configured: extension 620, not enabled to place outbound calls from KalliopePBX extensions from 610 to 615 (included), outbound calls are managed according to the LCR class ‘default’ numbers with prefix 60 (e.g., 600, 601, ..., 609, 6000, 6001, ..., 6099, etc.). To add, modify, delete remote numbering ranges or to assign them LCR classes, user can access the configuration page by clicking on the ‘Edit’ button. In case of overlap between different ranges within the same Trunk, PBX performs, in order, a match on: the exact numbers, the range and the prefixes. Administration Manual - 59 - Rev.: 15-02-2015 Note: in order to define a remote extension, it must belong to a numbering range defined for its corresponding trunk. When the remote extension is defined, it is possible to overwrite its previous LCR class. 3.3.2.4 Balancers Balancers are virtual gateways used to distribute outbound calls among several outbound physical lines in order to balance their use and set a utilization limit for each line. Figure 3.38 PBX Gateway Add New Balancer In order to configure a Balancer user must define: Name Selection Prefix (as for physical gateways) A backup gateway to use in case of congestion (or when traffic limit is reached) for all the gateways associated with the balancer One or more gateways associated to a traffic profile. Balancers will appear in the gateways selection lists when configuring them, but, they can also be explicitly selected by typing their selection prefix. In case of outbound calls addressed to a Balancer, it checks which gateway has more residual traffic15 and automatically forwards the call to such gateway. Whether the selected gateway is busy or not available, Balancer chooses the gateway, from those available, with more residual traffic. If all gateways have reached their traffic limit, Balancer chooses a gateway configured with an additional traffic amount. When all gateways are busy, not available or with no traffic left, outbound calls are forwarded to the configured backup gateway. Balancer only functions with outbound calls, incoming calls are managed by physical gateways. 15 Residual traffic is calculated analysing current month CDR. Administration Manual - 60 - Rev.: 15-02-2015 3.4 IVR Figure 3.39 PBX IVR IVR (Interactive Voice Responder) allows the administrator to configure a vocal menu, browseable thanks to the phone keys, dedicated to external incoming calls. Thanks to IVR, incoming calls can be forwarded towards several destinations, previously configured in this tab. Figure 3.40 IVR Configuration Configuration process consists in associating a phone key to an action available from a dropdown menu, and defining an audio message to guide the caller. It is also possible to create submenus to better organize the IVR structure. If the caller presses an invalid key, the audio message will be played again. Administrator can specify a selection timeout; when such timeout is reached, one of the following predefined actions is perfomed: Repetition of menu message (if caller’s device cannot send DTMF tones he will be blocked in this menu) Administration Manual - 61 - Rev.: 15-02-2015 Back to the main menu Forward the call to a call group or an ACD. Available actions for each phone key are: Forward the call to an IVR menu Forward the call to a call group or an ACD defined on the PBX Forward the call to a specific extension chosen by the caller via phone keys (an audio message will guide the user) Forwar the call to a predefined extension Forward the call to an opening time check Forward the call to an audioconference room (both automatically or giving the user the possibility to choose the room) Forward the call to the DISA service Hang up the call, optionally an explicative audio message can be played. 3.5 Features The ‘Features’ tab allows the user to edit: KalliopePBX on-call services SIP settings Sender e-mail address used for e-mail notifications and voice messages Default audio/video codec. Administration Manual - 62 - Rev.: 15-02-2015 Figure 3.41 PBX Features 3.5.1 On-call Services 3.5.1.1 Blind Transfer (#4) Such function allows to transfer a call between A and B to C. The transferer will press #4 and a voice will ask to type the extension number he wants to forward the call to. During this process a hold-on tune will be played to the transferred user. C’s device will ring and, when he will answer, he will be direclty connected to the transferred user. Whether C is busy or not available, the call will return to the transferer and the number on the display will be preceeded by a ‘R’. 3.5.1.2 Attended Transfer (*4) Such function allows the transferer (after typing *4 followed by the extension number he wants to forward the call to and #) to talk with C before performing the transfer. Only when the transferer hangs up, C is connected to the trasferred user. If C does not accept the transfer, the call between A and B will be re-established. Transferer can restore the call with the trasferred user (while C phone is ringing) by typing *0. Administration Manual - 63 - Rev.: 15-02-2015 3.5.1.3 Call Parking (#8) Such function allows to put on-hold a call and recover it from any phone. Typing #8 during a call, the caller is parked and an audio message notifies the user which number must press to recover it. PBX has an editable number of parking slots that can be defined in the ‘Numbering Plan’ tab. After 45 seconds a call has been parked, it is forwarded back to the extension that had parked it. 3.5.1.4 Fast Transfer (**) Such function allows a blind transfer between an extension and the associated mobile number, and vice versa. It is available only for those extensions with a configured mobile number. 3.5.2 SIP Settings ‘SIP Settings’ section includes: Enable pedantic control of SIP messages: enabled by default, this option forces KalliopePBX to perform a sintactic check on the received SIP signaling. Disabling this function may solve some compatibility issues with UAs not strictly SIP compliant Enable SIP transport over TCP: disabled by default, it allows to support SIP over TCP. The preferred transport method is UDP, but, whether a UA registers on PBX using TCP, then all the signaling towards this UA will be performed using TCP. When two peers use different transport protocols, KalliopePBX performs the adaptation between TCP and UDP. “Activate VoIP services on the port”: UDP port (and possibly TCP). Default value is the standard 5060. “DSCP xxx configuration”: DSCP values to tag the signal outgoing from Kalliope, in order to announce the correct treatement priority required to the network. 3.5.3 Voice Mailbox This field allows to modify the e-mail address used as sender for e-mail notifications. 3.5.4 Audio Codec Selection KalliopePBX supports following audio codec: G.729, PCM u-law, PCM a-law, GSM, G.72616 and G.722. In this section user can define which codec (and in which order) must be used. Note: G.729 is licensed and, normally, it can be used ONLY in “passthrough” mode, that is, when both the endpoints of the call are using this codec. Whether the PBX needs to handle a G.729 media flow (for example to access the voice mailbox or to record an audio file) or one of the endpoints does not use G.729, it is necessary to buy a license. Each license is dedicated to the handling of a single G.729 media flow. For further 16 At 32 Kbps. Administration Manual - 64 - Rev.: 15-02-2015 details on licenses activation please see paragraph 2.11. 3.5.4.1 Video calls support PBX supports following video codec: H.261, H.263, H.263+ and H.264. In this section user can enable video calls support and define which codec (and in which order) must be used. Both endpoints must share the same video codec in order to perform a successful video call. 3.5.4.2 Enable T.38 Support KallioepPBX supports T.38 protocol for fax handling in pass-through mode, so both endpoints must be provided with T.38 protocol support. 3.6 Incoming Calls Policy In the ‘Incoming Calls Policy’ tab user can define how to behave when PBX receives incoming calls not corresponding to DID rules configured on gateways or VoIP terminations (except for VoIP trunks since, by default, they forward the call to the extension associated to the number called). Figure 3.42 PBX Incoming Calls Policy 3.6.1 Opening Time Check From firmware release 3.7.1 it is possible to manage multiple time checks. A list of configured time checks is displayed and a new one can be added by clicking on the ‘Add New Time Check’ button. The calendar icon allows to show a list of opening days and opening hours related to that specific time check. By clicking on the name of the time check (or on the pencil icon) the configuration page is opened. After playing an optional audio message, time check proceeds with a comparation between current system time and user-defined time ranges. In particular, user can define: Specific closing days, with optional annual repetition Weekly opening time, associating to each day of the week different opening times (or complete opening). In order to modify closing days or opening times, user can click on the relative ‘Edit’ button. Administration Manual - 65 - Rev.: 15-02-2015 Figure 3.43 Time Check configuration screen Figure 3.44 Closing days configuration screen Closing days can be full (24 hours) or admit multiple opening times. Administration Manual - 66 - Rev.: 15-02-2015 Figure 3.45 Opening time configuration screen Weekly timetable can be configured both as opening time or closing time, specifying one or more time ranges for one or more days of the week. Note: setting the timetable as normally closed, without defining any opening range, the time check will always return a ‘Closed’ status. For each status (closing day, weekly closing time, opening time) a different destination can be defined. After an optional message, one of the following actions can be performed: Hang up Forward to a specific extension Forward to a call group (with or without a specific time check) Forward to an ACD (with or without a specific time check) Forward to a voice mailbox Forward to an IVR menu or submenu Forward to an external number, specifying the gateway to use Foward to another time check. In case of closing time, the caller can also bypass time check by typing a backdoor code and proceed as if it were an opening time. 3.6.2 Incoming Calls Policy For those incoming calls that follow the default routing (that is, not forwarded to call groups, ACD etc.) a welcome message can be defined. Afterwards, such calls are addressed to the destination selected from the drop-down menu. Administration Manual - 67 - Rev.: 15-02-2015 In addition, it is possible to add a prefix to the caller ID; user can choose between ‘none’ and ‘0*’. If ‘0*’ is selected, such prefix will be added to the caller ID, in order to give the user the possibility to recall it directly from the call history on his phone. In the same section, user can enable and configure Callback and DISA services. 3.6.3 Callback Service Figure 3.46 Callback service configuration Callback service includes a list of external phone numbers enabled to be automically recalled by the PBX; the switchboard rejects the incoming call and immediately recalls its number. When this call is answered, the PBX will actuate as if it were a normal incoming call, forwarding it to the desired destination. In addition, user can specify which gateway must be used for the recall. Callback service can be enabled by selecting the specific checkbox; the list of enabled numbers (and their relative destinations) can be edited by clicking on the button ‘Edit’. Figure 3.47 Callback enabled numbers configuration screen Administration Manual - 68 - Rev.: 15-02-2015 3.6.4 DISA Service Figure 3.48 DISA Service configuration screen DISA service is accessible by local extensions by typing the default code 803, or by external users through an IVR menu or typing a code (a voice message will ask the user to provide the authentication credentials). If authentication is successful, the system will ask the user to type the number to call; such call is equivalent to those originated from a local extension, its routing policy correspond to the LCR class associated to the DISA user. 3.7 Numbering Plan Numbering Plan defines internal routing policy for calls handled by KalliopePBX. Such plan can be differentiated in case of: calls originated from a PBX extension (both local or remote) incoming calls originated from an external number The call selection operates by checking the numbering plan rules until a match is found, according to the following priorities: 1. Telephone services 2. Speed-dial (user defined or system wide) 3. User defined selections (based on an exact, a range or a prefix match), associated to a call group, an ACD, an IVR menu etc. Number manipulation is also possible, before forwarding it back to the numbering plan 4. Local extensions 5. Remote extensions (accessible via VoIP Trunks) 6. Outbound line reservation using a reservation code associated to a specific gateway/Trunk/VoIP Termination 7. Outbound line reservation according to the LCR rules associated to that PBX user. The ‘Services’ column allows the user to modify, enable or disable specific phone services. Administration Manual - 69 - Rev.: 15-02-2015 Figure 3.49 PBX Internal Numbering Plan Services configuration page can be accessed by clicking on the pencil icon. Figure 3.50 PBX Internal Numbering Plan, Services configuration screen Here below an overview of available phone services. 3.7.1 Call-pickup Group This function allows any extension to pickup an incoming call addressed to a different extension belonging to the same group. In case of busy or unavailable extension, another user can answer such call from his own device. Default call-pickup code is *9. Administration Manual - 70 - Rev.: 15-02-2015 3.7.2 Direct Pickup In order to pickup an incoming call addressed to a specific extension, user can dial direct pickup code (**) followed by the extension he wants to pickup. Such function is not bound to call groups. 3.7.3 Call Pickup with Invitation For further details about this function please see 3.8.3 firmware release changelog. 3.7.4 Callback Request Whether the called extension is busy, caller may request a callback by typing, within 20 seconds, the specific code. Once the extension is available, PBX automatically calls back the caller and puts him in contact with the called user. Caller may annul a requested callback by typing the specific cancellation code. 3.7.5 Echo Service Thanks to this service user can hear back his own voice, this may be useful to check the correct functioning of the device. 3.7.6 Voice Mailbox Each PBX user can access, within the network, his voice mailbox by typing the specific code (by default 801). In order to allow users to access voice mailboxes from outside the network, the specific checkbox must be selected in PBX Numbering Plan. User is asked to provide mailbox number and password; available actions (such as listen/delete a message) can be performed thanks to the IVR menu. In addition, user can modify the notification sender e-mail address. 3.7.7 Audioconference Service By typing the specific service code, user will be asked to provide the number of the room he wants to be connected to. 3.7.8 DISA Service For a detailed description of such service please see paragraph 3.6.4. 3.7.9 Electronic Lock A code must be specified in order to lock/unlock a specific extension. 3.7.10 Unconditional Forward Such function allows the PBX to forward incoming calls addressed to a specific extension (but not to call groups or ACD) to a different extension. User can specify enable/disable code for this function. In order to enable unconditional forward, user must type the relative code followed by the extension number to forward the call to; to annul unconditional forward user must type, from his device, the cancellation code. Administration Manual - 71 - Rev.: 15-02-2015 A BLF (Busy Lamp Field) is available for all BLF groups in order to display unconditional forward status. Such function admits call forward to external numbers. 3.7.11 Call Tagging (available with the optional Call Center module) This function permits to tag each outbound call with a specific Account code, also showed in the CDR. The Account code is assigned to a call using a service prefix that must be configured in the Numbering plan. For example, if the service prefix configured is *1, to tag a call with the Account code 987 the user must dial *1 987 <destination>, where <destination> is the number to call (including the 0 prefix if configured). The Account code can also be set through the API Rest “/click2call”, inserting in the request the tag <accountcode> (please see the API Rest documentation available on www.kalliopepbx.com for more information). 3.7.12 Spy call supervision Prefix that enables Supervisors to spy target Operators during calls. 3.7.13 Dual Ring When configured and enabled, incoming calls are forwarded both, to the extension and to the associated mobile number. A BLF (Busy Lamp Field) is available for all BLF groups in order to display dual ring status. 3.7.14 Call Parking User can configure parking slots range. A BLF (Busy Lamp Field) is available for all BLF groups in order to display call parking status. Parking code allows to park an ongoing call into a slot (default code is #8). The following section (‘Custom numbering plan rules’) allows the user to configure custom routing policy for incoming calls. An incoming call can be forwarded to: a call group or ACD, an opening time check, an IVR menu, an audioconference room, a specific extension or a custom selection to set in the Numbering Plan. Figure 3.51 Internal Numbering Plan, Custom Numbering Plan rules Administration Manual - 72 - Rev.: 15-02-2015 Such actions can be performed identifying incoming calls on the base of: extact match, range match or prefix match. Custom rules can be created, deleted or modified by clicking on the pencil icon. Please note: custom rules are automatically ordered favoring exact match, range match and, eventually, prefix match. Figure 3.52 Custom Numbering Plan rules configuration screen Remaining sections concern local extensions, remote extensions, outbound calls with explicit line reservation and outbound calls with line reservation using LCR rules. Figure 3.53 PBX Numbering Plan, Local and Remote Extensions and Outbound Routing Whether the selection does not match any rule it is performed a “catch-all” action. By default, such action consists in refusing the call: with firmware versions lower then 3.12 an Administration Manual - 73 - Rev.: 15-02-2015 audio file notifies the user that the selection is not valid, starting with firmware version 3.12 the “catch-all” action can be customized and a specific destination can be set. Whether the configured action is “Refuse” no audio file is reproduced and the error 404 (Not Found) is notified to the caller. 3.8 Outbound Routing Figure 3.54 PBX Outbound routing In this tab it is possible to define outbound routing policy in case of users dial 0 (if enabled) or 0*, that is whether they do not explicitely select a gateway. ‘Outbound Routing’ tab is organized into different sections as shown below. ‘Outbound Routing Options’ section includes: International prefix field Country Code field (intended as where the PBX is located) Omit 0 for outbound calls checkbox ENUM Networks field LCR rules for call forward to external numbers. ‘LCR Classes’ section allows the user to assign a specific LCR class to an extension or to a range of extensions. All LCR classes have a default final rule that can be ‘Allow’ or ‘Block’. Outbound routing using LCR rules can be preceded (if enabled) by an ENUM check on a set of defined domains. If one of such domains returns a valid URI SIP, then the call is routed via Administration Manual - 74 - Rev.: 15-02-2015 VoIP. Whether the call fails (but not in case of busy line), such call is routed using the related LCR class. Each LCR class is defined by an ordered set of LCR rules, when a call is placed PBX applies a first-match policy. ‘LCR Rules’ section allows the user to assign a set of destinations (prefixes, exact numbers) to each outbound gateway (if not, then the final rule is ‘block’). Thanks to different combinations of preset rules, user can configure a specific LCR class for each PBX extension. Here below is an example of possible LCR rules assinged to a LCR class: ‘Mobile phones’ rule: prefix 3 Gateway ‘A’ ‘International calls’ allow rule: prefix 00 Gateway ‘B’ ‘International calls’ block rule: prefix 00 Block ‘High fares’ rule: prefixes 899, 199, etc… Block ‘No restriction’ rule: any number Gateway ‘C’ LCR classes can be assigned in order to manage extensions’ authorizations, for example: LCR Class A: ◦ ‘Mobile phones’ rule ◦ ‘International calls’ block rule ◦ ‘High fares’ rule ◦ ‘No restriction’ rule LCR Class B: ◦ ‘Mobile phones’ rule ◦ ‘International calls’ block rule ◦ ‘No restriction’ rule Differently from LCR Class A users, LCR Class B users are allowed to call ‘High fares’ numbers. Administration Manual - 75 - Rev.: 15-02-2015 Chapter 4 - PBX Applications 4.1 External API This panel permits to configure phone calls routing basing on the response of an external API. Such API is invoked providing a series of numerical parameters that can be requested to the user thanks to a set of pre-recorded prompt messages. Figure 4.1 New external API configuration, Global settings The API must be served by a web server external to KalliopePBX. The configuration process includes the following parameteres: API’s URL: it can be an http o https URL (without server certificate validation) Authetication: it can be NONE (no authentication) or BASIC (Basic http Atuhentication); in this last case, it is needed to provide authentication credentials (username and password) Request type: API invocation can be GET or POST; in the first case the contingent parameters are provided through the request URL, while in the second case it is possible to specify the request content format and the relative Content-Type. In both cases (GET and POST) API’s parameters are transmitted through placeholders included in the URL or in the POST content. Available placeholders are: %CALLER_NUM%: caller number %PARAM1%, …, %PARAMnn%: “nn” parameters required to the caller through an IVR built as described here below. Administration Manual - 76 - Rev.: 15-02-2015 For example, a GET the URL request could be built as follows: http://www.myserver.com/api?arg1=%CALLER_NUM%&arg2=%PARAM1%&arg3=%PARAM2% while for a POST request-type the content could be: <?xml version="1.0"?> <parameters> <caller>%CALLER_NUM%</caller> <param_01>%PARAM1%</param_01> <param_02>%PARAM2%</param_02> </parameters> For each numerical parameter required to the caller it must be configured a vocal message. Optionally, it is possible to establish the maximum number of digits admitted; if no value is set, the system considers the input over after a 5 seconds timeout or after the pression of the # key. Whether no input is provided, the request is repeated three more times. Figure 4.2 New external API configuration, Parameters acquisition In addition, it is possible to enable the confirmation request by selecting the dedicated checkbox; if enabled, the system asks the user to confirm the inserted digits by pressing the key ‘1’. Whether the user does not confirm the parameters, the insertion request is repeated. Once the parameters are correctly provided, the configured external API is invoked. The system expects a “200 OK” response and its body must contain an XML text as the following one. <?xml version="1..0"?> <response> <message> <elem>digit:1</elem> <elem>number:200</elem> <elem>alpha:c234</elem> <elem>audio:custom/misc/pluto</elem> <elem>number:201</elem> <elem>digit:123</elem> <elem>audio:custom/misc/pippo</elem> </message> <value>105</value> </response> Administration Manual - 77 - Rev.: 15-02-2015 Figure 4.3 New external API configuration, Actions configuration The <value> tag indicates the API answer depending on which several actions can be perfomed (starting with firmware release 3.10 this value can be 0-9 and not only 0 or 1). KalliopePBX can play an introduction message to the caller (defined in the configuration web GUI) and series of other messages connected basing on the <elem> tags sequence present in the <message> answer. The <elem> tags admit the following values: digit: plays single digits one-by-one (multiple digits numbers are admitted, but the digits will be played one-by-one) number: plays the whole number alpha: admits digits and letters that are played one-by-one audio: path of an audio file (stored into the PBX) to play One of the available actions consists in the possibility to forward the call to the Numbering Plan, using as selection the API answer value. Finally, it is also possible to set an action to perform in case of API invocation error. 4.2 MeetMe Conference MeetMe Conference tab allows the user to create and configure audioconference rooms. In the main screen it is displayed a list of configured rooms, including names and numbers. Two new tabs have been added from firmware version 3.12: “MeetMe Rooms Operation” and “MeetMe Rooms MOH”. The first one permits to define the rooms’ access and configuration permissions: in particular, the admin can assign the control of a room (private room) to an extension that can manage such room from its own KalliopePBX page. The room owner (system admin or an extension) can: define an access PIN and an administration PIN, enable the function “Announce”, enable the function “Automatically close the room when the last admin user leaves”. When the “Announce” checkbox is selected, the system asks the new participants to pronounce their name so to announce when someone enters or exits the room. Moreover, the room admin can configure an audio file that is used as hold-on music when there is only a participant in the room. To enter a specific audioconference room, user must press (after typing 802, the code associated by default to this service) the room number followed by #. If needed, user is asked to provide a password and, eventually, is forwarded to the room. Administration Manual - 78 - Rev.: 15-02-2015 An available shortcut is to type directly the number <SERVICE_CODE>NNNN*MMMM, where (NNNN) is the room number, and (MMMM) the relative password. Whether the room is not protected with an access password user must type <SERVICE_CODE>NNNN. Administration Manual - 79 - Rev.: 15-02-2015 Phonebook Chapter 5 - 5.1 Phonebook Phonebook tab allows the user to perform several actions: Browse the phonebooks (local, personal and shared) Configure LDAP parameters in order to download remote phonebooks Define publication policy for KalliopePBX extensions on the local LDAP server. Phonebook includes a list of phone numbers (PBX extensions or external numbers) easily accessible and available for click-to-call service. Note: click-to-call service is available only for PBX users with an associated extension. 5.1.1 ‘Admin’ login Accessing the PBX web interface at admin level, it will be displayed the following screen. Figure 5.1 Phonebook Phonebook tab is organized into different sections: Extensions Phonebook: it includes every account configured on KalliopePBX (such contacts are visible to all users). Administration Manual - 80 - Rev.: 15-02-2015 Shared Phonebook: it includes every account created by KalliopePBX administrator. Each user can decide to add or not his account to shared Phonebook (such contacts are visible to all users). LDAP Phonebook: it includes contacts downloaded from remote LDAP directories (configured in the specific panel). Search all: in this section user can perform a research on all available phonebooks. In addition, each user is provided with a personal and editable phonebook: Personal Phonebook: each user can decide which contacts must be added to his phonebook (such contacts are visible only to that specific user). To access personal phonebook, user must login at user level. Figure 5.2 Shared Phonebook section In ‘Shared Phonebook’ section administrator can: Add new contacts (individually or importing a XLS/CSV file) Export the contact list Remove contacts Enable/Disable the visualization of the contact ID instead of its number for incoming calls (for internal calls, PBX always replaces caller ID with the value ‘Name Last Name’ associated to the extension). The ‘Name Last Name’ value is researched, firstly, in the private phonebook, then in the shared one and, eventually, in remote phonebooks. If no entry is found, it will be displayed the caller's number. Administrator can broswe, add, edit and remove contacts only from the System Phonebook. In addition, each user can be associated with a speed-dial code (# followed by one or more characters). Speed dial codes begininning with #0 are reserved to Personal Phonebook contacts, so System Phonebook speed-dial codes must begin with # followed by one or more characters different from 0. Each user can perform the same actions with respect to his personal phonebooks. Administration Manual - 81 - Rev.: 15-02-2015 Figure 5.3 Add new contact to Personal/Shared Phonebook screen Users and administrator can import phonebook contacts from XLS (Microsoft Excel worksheet 97/2000/2003) or CSV (Comma Separated Values) files. In order to import contacts from a file, it must be clicked on the button ‘Import from CSV or XLS’. CSV/XLS files must include (not necessarily in the same orden): GIVENNAME: first name (required) SURNAME: last name (required) O: Organization or Company OU: Office or Unit PHONE: phone number (required) SPEEDDIAL: associated speed-dial, including the # (or #0) prefix MAIL: e-mail address In case of CSV files user can also define the separator character (typically ';' or ','). Figure 5.4 Import from CSV/XLS screen Clicking on the ‘Choose File’ button a file browser is displayed; user must select the file to upload and click on ‘Upload’. In order to check for errors, a recapitulation of the uploading contacts is shown. Administration Manual - 82 - Rev.: 15-02-2015 Whether one, or more, contacts are already present in the Phonebook, user can decide how to proceed: already existing contacts can be updated (they will appear twice in the Phonebook) or overwritten. Figure 5.5 Contacts Import preview 5.1.2 ‘User’ login Accessing the PBX web interface at user level a green phone icon is displayed next to each contact; by clicking on such icon, user’s device starts ringing and it will be displayed ‘Web call to xxx’ (where xxx is the called contact). Figure 5.6 Personal Phonebook section Administration Manual - 83 - Rev.: 15-02-2015 Note: user login credentials correspond, initially, to the SIP account credentials. Administrator can modify both, username and password for each user. Each user can modify his credentials from the dedicated section. Whether the user is provided with ‘Shared Phonebook’ editing authorization, he will also have the possibility to add, modify and remove contacts from such phonebook. Administration Manual - 84 - Rev.: 15-02-2015 5.2 Publish extensions on LDAP Figure 5.7 Publish extensions on LDAP screen Thanks to this page user can configure parameters required to publish extensions on KalliopePBX LDAP server. The LDAP tree can be built from an existing RDN; each entry can be based on a standard template or on a customized one, obtained by editing the text area in the page. When publishing, each field contained between the symbols %…% will be replaced by the actual values. The ‘Organization section’ frame contains the fixed part of the LDIF used to populate the LDAP tree, while the ‘Person section’ frame shows the scheme used to publish each extension. The %PHONE% field is generated by applying the rules configured for each extension; by default the extension number is modified by removing a configurable number of digits at the beginning and adding a prefix. LDAP Phonebook is automatically regenerated when KalliopePBX boots or whenever changes are performed (and applied) to relevant fields. Administration Manual - 85 - Rev.: 15-02-2015 5.3 Publish Shared Phonebook on LDAP It is also possible to publish Shared Phonebook on a different LDAP tree in order to make it directly accessible from devices with a built-in LDAP client. In such case LDIF structure is set by default, user can only modify the Root DN of the tree. Default value is ‘dc = contacts, dc = kalliopepbx, dc = com’. 5.4 Import from LDAP Figure 5.8 Import from LDAP screen In this section are displayed configured LDAP remote servers, needed to download phonebooks; such phonebooks will be available to users for browsing, research or click-tocall. For each server user can: see last update time or import it again by clicking on the dedicated button. Moreover, user can modify settings for each LDAP server by clicking on it. Figure 5.9 LDAP server settings In the ‘LDAP Server Settings’ section user can define the following parameters: Name Administration Manual - 86 - Rev.: 15-02-2015 Host/Uri: LDAP server hostname or IP address Port: if empty PBX will use the default port RDN: the Root DN of the LDAP tree LDAP version Login credentials (if required): if empty, login will be anonymous. From the LDAP server, PBX imports all the entries related to the research (objectClass = person), extracting the following attributes: givenName surname telephoneNumber o ou email. Administration Manual - 87 - Rev.: 15-02-2015 Chapter 6 - CDR 6.1 Call Detail Record Figure 6.1 Call Detail Record In this tab, the administrator can see the CDRs related to incoming and outbound calls managed by KalliopePBX. Each month, a new tab is automatically created in order to simplify the consultation. The ‘Current’ tab shows current month calls only. In order to display previous months CDRs, user can click on the relative tab (for the previous six months) or find it using the drop-down menu. By default, PBX lists calls in reverse date order (newest to oldest) and reports details about: o uniqueID, call identifier o call type (incoming, outbound or local) o status (answered, not answered, busy, not available or forwarded to the voicemail) o Date and hour of arrive, answer (if answered) and hangup o caller ID (for incoming calls, if available), o called user ID (in case of incoming calls addressed to a call group, both the group and the extension that actually answered are specified), o used gateway (for outbound calls) o Accountcode (if configured), available only with the optional Call Center module o call duration. By clicking on the column header, user can reverse the order with respect to the selected parameter. In addition, user can filter CDRs for each of these fields; for example it is possible to restrict the displayed data to: calls from a particular extension, or to a specific number, or in a given period of time (set by clicking on the calendar icon in the Date/Hour column). Such selections can be combined to create complex filters: after defining the filtering conditions, the results will displayed by clicking on the ‘Filter’ button. To remove the filter just click on the ‘Clear’ button. Administration Manual - 88 - Rev.: 15-02-2015 Accessing at admin level, external phone numbers will be masked. It is possible to display them entirely by entering the privacy password and selecting the checkbox ‘Unhide complete numbers’ in the ‘Privacy Mode’ frame. Thanks to the privacy password it is also possible to delete old CDR stored on the PBX by clicking on the dedicated button that appears once the password is provided. Accessing at user level, CDR tab will only display phone calls related to such user (without any masking). In addition, next to external numbers, user will find several buttons that allow him to: click-to-call, add contact to personal phonebook, add contact to shared phonebook. Figure 6.2 Personal CDR Administration Manual - 89 - Rev.: 15-02-2015 Chapter 7 - Call Recording User can record phone calls (both incoming or outbound) in two ways: Unconditional: the entire call is recorded On demand: recording can be started or stopped by typing *1. A specific audio message can be played when recording starts or stops. Figure 7.1 Call Recording Call Recording settings From the ‘Call Recording Settings’ section user can enable/disable unconditional and/or on demand recording and enable/disable call recording for internal phone calls. Enabling call recording from this tab does not automatically imply its availability for all the extensions; indeed, it is necessary to enable call recording individually for each extension, group, or ACD. In case of extensions, call recording is available for both, incoming and outbound calls; on the contrary, in case of call groups or ACD, call recording is available only for incoming calls. The ‘Announcements’ frame allows the user to configure audio messages to play in order to inform that call recording is activated or stopped. During the audio message, the extension will hear a hold-on music. Recorded calls can be stored both, on KalliopePBX storage or on an external memory connected to the KalliopePBX USB port. KalliopePBX supports a single removable storage at once (USB pen drive or external HDD), containing a single partition formatted as FAT32. The ‘Devices’ sections provide information about available storage devices (internal or external) and relative free space. Recorded calls can be downloaded, deleted or transferred from internal to external memory, by clicking on the tabs ‘Local Storage’ and ‘USB Storage’. Such actions can be selected from a drop-down menu and applied to the selected recordings; in order to perform the desired action just click on the ‘Go’ button. Figure 7.2 Local storage screen Administration Manual - 90 - Rev.: 15-02-2015 Chapter 8 - Troubleshooting ‘Troubleshooting’ tab provides the user with several useful tools. One of such tools is a pcaplibrary-based tool that permits to capture traces of incoming/outgoing packets whitin KalliopePBX network interface; optionally user can decide to apply a filter based on: • Protocol type (all or a combination of ICMP/UDP/TCP) • IP address (source or addressee) Port (source or addressee). Figure 8.1 Troubleshooting screen When the filter is set, just click on the ‘Start’ button; capture can be stopped, manually, by clicking on the ‘Stop’ button, or automatically, when captured file’s size reaches 10 MB. Figure 8.2 Processing capture Once the capture is concluded, user can download the pcap file by clicking on the specific button. Pcap file is stored on KalliopePBX until: it is explicitly deleted by clicking on the ‘Delete’ button, a new file is captured or PBX is rebooted. Administration Manual - 91 - Rev.: 15-02-2015 Chapter 9 - Provisioning KalliopePBX is provided with a provisioning engine able to create (and send to phones thanks to the built-in TFTP server) configuration files containing all the parameters needed to make them function properly (PBX address, authentication credentials, etc…). At the moment, KalliopePBX supports the phone models shown in the table here below. Avaya Gigaset Pro Linksys Yealink17 Snom18 T19 1220 DE310/410 SPA921/2 1230 DE700/900 SPA941/2 300/320/370 T20/21/22/26/28 710/715/720/760 T32/38 820/821/870 T41/42/46 VP530 Table 9.1 Provisioning, Supported phone models Provisioning process involves three main steps: 1. Definition of the extensions to associate with phones (as described ins the panel PBX Extensions) 2. Device list (devices are identified by their MAC addresses) 3. Loading of one or more configuration templates, each for a specific phone model, preconfigured with options common to various users classes. KalliopePBX can manage more templates for each phone model in order to use different configurations for different users classes using the same phone model. When this process is finalized, KalliopePBX creates a configuration file for each phone model associating the device’s MAC address to a specific extension and template. Such configuration file is stored into the root folder of the built-in TFTP server; telephones can download it and auto-configure themselves. 9.1 Auto-provisioning procedure Once the configuration file is available on the TFTP server, the self-provisioning procedure is as simple as connecting the phone to the network and turning it on. Usually19, at first boot (or after a reset to factory settings), VoIP phones search for a DHCP server to download their network configuration file. DHCP server must be able to send them the configuration parameters (IP address, subnet mask, gateway address, etc.) and, in addition, the Option 66, which is the TFTP server IP address needed by the phones to download their configuration file. When network configuration is operative, VoIP phones send a ‘Get’ request to the TFTP server (set on the DHCP server equal to KalliopePBX IP address) in order to download their configuration file. Such configuration is a text file whose name depends on the model of the 17 Tested with firmware release V50 and following. Tested with firmware release 8.x. 19 For further details please see user manual for each specific phone. 18 Administration Manual - 92 - Rev.: 15-02-2015 phone, but, contains the specific device MAC address. In case of Yealink phones, configuration files are named 1234567890ab.cfg, while for Linksys phones files are named spa1234567890ab.cfg; in both cases, 12:34:56:78:90:ab represents the MAC address. Snom phones require, previously, a XML file named snomxxx.html (where xxx is the phone model, for example 300, 320, 370), and, then, a file named snomxxx-12345678d90AB.htm. Once the configuration file has been successfully downloaded, phones apply new configuration, reboot and, eventually, are ready for use. 9.2 Provisioning procedure steps 9.2.1 Extensions creation Please see paragraph 3.1. 9.2.2 Devices configuration In Provisioning Devices, click on the link ‘Add new device’. Figure 9.1 Provisioning procedure, devices configuration User must define the following fields: • MAC Address: device MAC address in one of these formats 1234567890ab, 12:34:56:78:90: ab, 12-34-56-78-90-ab • Host: whether the phone must have a dynamic or static IP address (in this case, it is necessary to provide IP address, mask and Gateway) • DNS: optional, DNS server IP address that will be used by the phone • Model: phone model, to select from the drop down menu. Figure 9.2 Adding new provisioning device Administration Manual - 93 - Rev.: 15-02-2015 9.2.3 Configuration Template definition In Provisioning Templates, click on the link ‘Add new templates’. Figure 9.3 Adding new template User must define the following fields: • Name: template name • Model: phone model, to select from the drop down menu • File: upload of a configuration template compatible with that specific model (such file must have a .tpl extension). Template format changes depending on the phone model. Please see the following paragraph for further details. Figure 9.4 Loading a configuration template When a configuration template file is loaded, it automatically appears in the list of templates. Figure 9.5 Template management screen By clicking on the corresponding buttons, use can download, duplicate, edit or remove a template. Here below a template editing screen: Administration Manual - 94 - Rev.: 15-02-2015 Figure 9.6 Built-in editor for online template editing 9.2.4 Configuration file creation In the tab Provisioning Provisioning user can assign a specific device (identified by MAC address) to an extension and a template by clicking on the link ‘Add new entry’. Figure 9.7 Device/Extension/Template connection ‘Add new provisioning connection’ page is displayed and user must select from drop-down menus: • Device (only those with no connections are displayed) • Extension (among those defined on KalliopePBX) • Configuration template (please pay attention, select the template associated to the specific device model). By clicking on the ‘Save’ button, the connection is created; KalliopePBX provisioning engine creates the configuration file and stores it into the root folder of the built-in TFTP server. Administration Manual - 95 - Rev.: 15-02-2015 Figure 9.8 Provisioning configuration files management screen Current connections are listed in the ‘Provisioning’ frame; user can select them and perform following actions: • Temporary disable (the connection remains, but the configuration file is removed from the TFTP server) • Re-enable (whether it was previously disabled) • Delete (the association is completely deleted, the device can be now associated to a different extension) • Create (the configuration file is created again, useful if some account parameters have been changed or the template is modified) • Connect the device to a template. The entire list of associations is filterable or sortable using the search fields or by clicking on the headers of the columns highlighted in orange. 9.2.4.1 Provisioning list import A provisioning list can be imported from a XLS/CSV file containing the desired connections. Such file must contain the following columns (header included): • "MAC": device MAC address • "EXTEN": extension associated to that specific device • "IP": device IP address (if empty or 0.0.0.0, DHCP will be used) • "NETMASK": Netmask Address • "GATEWAY": Gateway Address • "DNS": DNS Server Address • "DEVICE_MODEL": device model ID, according to the list provided in the import page. Once the import process is complete, user must associate VoIP devices to the relative template in order to create configuration files. Administration Manual - 96 - Rev.: 15-02-2015 9.2.5 Yealink phones templates For Yealink phones, templates contain special codes (placeholder) replaced by the provisioning system with the actual values. The currently supported placeholder are listed in the following table: Key Placeholder Value Label %YLKEY_LABEL% Account label (First Name + Last Name) DisplayName %YLKEY_DISPLAYNAME% Display Name (First Name + Last Name) AuthName %YLKEY_AUTHNAME% SIP Account Auth. Name (Extension #) UserName %YLKEY_USERNAME% SIP Account Auth. Name (Extension #) Password %YLKEY_PASSWORD% SIP Account Password (Exten password) SIPServerHost %YLKEY_SIPSERVERHOST% KalliopePBX Address SIPServerPort %YLKEY_SIPSERVERPORT% KalliopePBX SIP Port (5060) OutboundHost %YLKEY_OUTBOUNDHOST% KalliopePBX Address OutboundPort %YLKEY_OUTBOUNDPORT% KalliopePBX SIP Port (5060) WANType %YLKEY_WANTYPE% 0: DHCP; 2:STATIC WANStaticIP %YLKEY_WANSTATICIP% Phone IP Address (if WANType=2) ;[ account ] ;[ WAN ] WANSubnetMask %YLKEY_WANSUBNETMASK% Subnet Mask (if WANType=2) WANDefaultGateway %YLKEY_WANDEFAULTGATEWAY% Default Gateway (if WANType=2) %YLKEY_DNS1% Primary DNS (configurable per device) ;[DNS] PrimaryDNS Table 9.2 Placeholder available for Yealink provisioning templates 9.2.6 Linksys phones templates For Linksys phone, configuration originates from a XML file 20 . Relevant tags, set by the provisioning system, are (in case of multi-account phones, the first available account is provisioned): TAG XML Value User_Password SIP Account ID (Extension) User_ID_1_ SIP Account ID (Extension) Password_1_ SIP account Password DHCP "Yes"/"No" Static_IP Phone IP address (if DHCP=”No”) NetMask Subnet Mask (if DHCP=”No”) Gateway Default Gateway (if DHCP=”No”) Primary_DNS Primary DNS Proxy_1_ KalliopePBX IP address 20 Configuration file (to use as template) can be downloaded from Linksis phones web page at the following address: http://<phone_IP_address>/admin/spacfg.xml. Administration Manual - 97 - Rev.: 15-02-2015 SIP_Port_1 pbxport Outbound_Proxy_1_ KalliopePBX IP address Display_Name_1_ Name Lastname; Table 9.3 XML TAGs for Linksys phones provisioning 9.2.7 Snom phone templates In case of Snom phones, user must provision the differences from the standard configuration file. KalliopePBX provisioning system only generates snomxxx-1234567890AB.htm file for that specific device. Snom templates must use the following placeholders (that will be replaced during the creation of configuration files): TAG Placeholder Value user_realname %KP_DISPLAYNAME% Display Name (First Name + Last Name) user_pname %KP_AUTHNAME% SIP Account Auth. Name (Extension #) user_name %KP_USERNAME% SIP Account Auth. Name (Extension #) user_pass %KP_PASSWORD% SIP Account Password (Exten password) user_host %KP_SIPSERVERHOST% KalliopePBX Address user_outbound A%KP_OUTBOUNDHOST% KalliopePBX Address user_outbound %YLKEY_OUTBOUNDPORT% Outbound proxy Port (def. 5060) Dhcp %KP_WANTYPE% on / off ip_adr %KP_WANSTATICIP% Phone IP Address (if dhcp=on) Netmask %KP_WANSUBNETMASK% Subnet Mask (if dhcp=on) Gateway %KP_WANDEFAULTGATEWAY% Default Gateway (if dhcp=on) %KP_DNS1% Primary DNS (configurable per device) mac address %KP_MAC% Device MAC address mac address %KP_MACADDRESS% Device MAC address ;[ account ] ;[ WAN ] ;[DNS] dns_server1 ;[DEVICE] Table 9.4 Snom provisioning templates placeholders Administration Manual - 98 - Rev.: 15-02-2015 Chapter 10 - File Manager KalliopePBX is provided with a built-in file browser that allows the user to upload files straight into the TFTP server folder. In addition, KalliopePBX converts uploaded audio files from wav/mp3 to G.711/G.729. 10.1 Audio Files Figure 10.1 PBX File Manager Sounds In this tab it is possible to manage audio files played by PBX to users (for example, busy extension, IVR menu and submenu etc…). Each section (IVR, opening time check, Miscellaneous) includes custom and default audio files (not editable or erasable). Custom files can be uploaded, edited, renamed, moved or deleted. PBX admits the upload of wav/mp3 files (PBX automatically converts them to a telephone suitable format, such as PCM/mono/KHz). During the upload user can adjust the volume by selecting from a drop-down menu a gain of 0, -3, -7, 0 -10 dB. Best quality can be obtained by uploading audio files already sampled at 8 KHz. Whether at least one G.729 license has been activated on KalliopePBX, it is possible to convert audio files to such format too. Uploaded audio files can be downloaded (in the new format) or played to a specific extension in order to hear them straight from a device registered on the PBX. Moreover, it is possible to record an audio message from an extension phone: user has to specify the extension number and PBX will place a call towards such extension. User will be asked to record a message and conclude the operation by pressing #. Once the message has been recorded, user can play back the message and decide to save it or to record it again. Finally, user can manage hold-on messages classes used in call ACD. For each class, the configured audio files are played randomly or sequentially. One of such classes must be tagged as the default one; it will be played in case of call transfer, call parking or on hold calls. Administration Manual - 99 - Rev.: 15-02-2015 On-call services codes Such codes function only if typed by a PBX extension. Code Service Attended Transfer: During a call between A and B, A types *4. PBX plays a ‘transfer’ message and asks A to type C extension number followed by #. In the meanwhile B is on-hold. Once A is connected *4 to C, transfer can be finalized simply by hanging up and B is connected to C. Whether C does not accept the transfer, A can type *0 to restore the initial call between A and B. *0 Transfer cancellation. Blind Transfer: During a call between A and B, A types #4. PBX plays a ‘transfer’ message and asks A to type C extension number followed by #. In the meanwhile B is on-hold. C’s device rings (caller ID is B). When C answers he is connected directly to B. #4 Whether C is busy or not available, the call will return to the transferer and the number on the display will be preceeded by an ‘R’. A can restore the initial call with B only if C does not answer, by typing *9 or **B. *1 Start and stop on demand call recording. Call Parking: During a call between A and B, A types #8. B is put on-hold, an audio message will notify A in which slot the call has #8 been parked (range P90 – P99). A can type the slot number (from any extension) to recover the call. After 45 seconds B has been parked, the call is forwarded back to A. ** Administration Manual Fast Transfer. - 100 - Rev.: 15-02-2015 Appendix A: Provisioning Yealink phones sample configuration template # # # # # # # # # # # # # Sample configuration template for Yealink T28P Provisiong template for KalliopePBX Supported versions: v3.6.4 v3.6.5 Notes: - 1 SIP account (all lines on the same account) - NO VLAN - SIP Registration Timeout : 5 minutes - Tone set: Italy - Timezone: IT - DST per week [ account ] path = /config/voip/sipAccount0.cfg Enable = 1 Label = %YLKEY_LABEL% DisplayName = %YLKEY_DISPLAYNAME% AuthName = %YLKEY_AUTHNAME% UserName = %YLKEY_USERNAME% password = %YLKEY_PASSWORD% SIPServerHost = %YLKEY_SIPSERVERHOST% SIPServerPort = %YLKEY_SIPSERVERPORT% UseOutboundProxy = 1 OutboundHost = %YLKEY_OUTBOUNDHOST% OutboundPort = %YLKEY_OUTBOUNDPORT% Transport = 0 BakOutboundHost = BakOutboundPort = 5060 proxy-require = AnonymousCall = 0 RejectAnonymousCall = 0 Expire = 300 SIPListenPort = 5060 Enable 100Rel = 0 MissedCallLog = 1 precondition = 0 SubsribeRegister = 0 SubsribeMWI = 0 CIDSource = 0 EnableSessionTimer = 0 SessionExpires = SessionRefresher = 0 EnableUserEqualPhone = 0 srtp_encryption = 0 ptime = 0 ShareLine = dialoginfo_callpickup = Account label (First Name + Last Name) Display Name (First Name + Last Name) SIP Account Auth. Name (Extension #) SIP Account Auth. Name (Extension #) SIP Account Password (Exten password) KalliopePBX Address KallipePBX SIP Port KalliopePBX Address KallipePBX SIP Port SIP registration expiration: 5 minutes [ DTMF ] path = /config/voip/sipAccount0.cfg DTMFInbandTransfer = 1 InfoType = 0 DTMFPayload = 101 [ NAT ] path = /config/voip/sipAccount0.cfg NATTraversal = 0 STUNServer = STUNPort = 10000 Administration Manual - 101 - Rev.: 15-02-2015 EnableUDPUpdate = 1 UDPUpdateTime = 30 rport = 0 [ ADVANCED ] path = /config/voip/sipAccount0.cfg default_t1 = 0.5 default_t2 = 4 default_t4 = 5 [blf] path = /config/voip/sipAccount0.cfg SubscribePeriod = 1800 BLFList_URI = [ audio0 ] path = /config/voip/sipAccount0.cfg enable = 1 PayloadType = PCMU priority = 0 [ audio1 ] path = /config/voip/sipAccount0.cfg enable = 1 PayloadType = PCMA priority = 1 [ audio2 ] path = /config/voip/sipAccount0.cfg enable = 1 PayloadType = GSM priority = 2 [ audio3 ] path = /config/voip/sipAccount0.cfg enable = PayloadType = priority = [ audio4 ] path = /config/voip/sipAccount0.cfg enable = PayloadType = priority = [ audio5 ] path = /config/voip/sipAccount0.cfg enable = PayloadType = priority = [ audio7 ] path = /config/voip/sipAccount0.cfg enable = PayloadType = priority = [ audio8 ] path = /config/voip/sipAccount0.cfg enable = PayloadType = priority = [ audio9 ] path = /config/voip/sipAccount0.cfg enable = PayloadType = priority = [ audio10 ] path = /config/voip/sipAccount0.cfg enable = PayloadType = priority = Administration Manual - 102 - Rev.: 15-02-2015 [ WAN ] path = /config/Network/Network.cfg #WANType:0:DHCP,1:PPPoE,2:StaticIP WANType = %YLKEY_WANTYPE% WANStaticIP = %YLKEY_WANSTATICIP% WANSubnetMask = %YLKEY_WANSUBNETMASK% WANDefaultGateway = %YLKEY_WANDEFAULTGATEWAY% [ DNS ] path = /config/Network/Network.cfg PrimaryDNS = %YLKEY_DNS1% SecondaryDNS = 0 for DHCP, 2 for static Phone IP Address (if WANType=2) Subnet Mask (if WANType=2) Default Gateway (if WANType=2) Primary DNS (configurable per device) [ PPPoE ] path = /config/Network/Network.cfg PPPoEUser = PPPoEPWD = [ LAN ] path = /config/Network/Network.cfg #LANTYPE:0:Router, 1:Bridge LANTYPE = 1 RouterIP = 10.0.0.1 LANSubnetMask = 255.255.255.0 EnableDHCP = 1 DHCPStartIP = 10.0.0.10 DHCPEndIP = 10.0.0.100 [ VLAN ] path = /config/Network/Network.cfg ISVLAN = 0 VID = USRPRIORITY = 7 PC_PORT_VLAN_ENABLE = 0 PC_PORT_VID = 0 PC_PORT_PRIORITY = 0 Bridge mode between WAN and LAN ports NO VLAN [ QOS ] path = /config/Network/Network.cfg SIGNALTOS = 48 RTPTOS = 48 [ RTPPORT ] path = /config/Network/Network.cfg MaxRTPPort = 11800 MinRTPPort = 11780 [ AdminPassword ] path = /yealink/config/Setting/autop.cfg password = CHANGE-ME devices) Change phone password (same for all [ SYSLOG ] path = /config/Network/Network.cfg #specify the server for syslog storage SyslogdIP = [ Lang ] path = /config/Setting/Setting.cfg ActiveWebLanguage = Italian WebLanguage = Italian [ Time ] path = /config/Setting/Setting.cfg TimeZone = +1 TimeZoneName = Italy(Rome) TimeServer1 = ntp1.ien.it TimeServer2 = it.pool.ntp.org Interval = 1000 SummerTime = 1 DSTTimeType = 1 TimeZoneInstead = 8 StartTime = 3/5/7/2 Administration Manual Language of phone display Language of web gui Time, timezone and DST configuration - 103 - Rev.: 15-02-2015 EndTime = 10/5/7/3 TimeFormat = 1 DateFormat = 0 OffSetTime = 60 DHCPTime = 0 [ PhoneSetting ] path = /config/Setting/Setting.cfg InterDigitTime = 4 FlashHookTimer = 1 Lock = 0 Ringtype = Ring1.wav Contrast = 2 BackLight = 2 BacklightTime = 30 ProductName = [ AlertInfo0 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo1 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo2 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo3 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo4 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo5 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo6 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo7 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo8 ] path = /config/Setting/Setting.cfg Text = Ringer = [ AlertInfo9 ] path = /config/Setting/Setting.cfg Text = Ringer = [ Forward ] path = /config/Features/Forward.cfg Type = 0 AlwaysForward = BusyForward = NoAnswerForward = AfterRingTimes = 10 Administration Manual - 104 - Rev.: 15-02-2015 Active = 0 BusyNoAnswerForward = BusyNoAfterRingTimes = 10 [ Features ] path = /config/Features/Phone.cfg Call_Waiting = 1 Hotlinenumber = BusyToneDelay = [ PoundSend ] path = /config/Features/Phone.cfg #Set # key or * key as send. #:1 and *:2 Enable = 1 [ AutoAnswer ] path = /config/Features/Phone.cfg Enable = 0 [ Emergency ] path = /config/Features/Phone.cfg Num = [ memory1 ] path = /config/vpPhone/vpPhone.ini #Set Memory key1 type = Line = Value = PickupValue = DKtype = . . . Restore the memory2 to memory 9 contexts From memory1 to memory10 are associated to DSS keys (e.g. for BLF) Available only in T26P and T28P Can be removed from T20P, T22P templates [ memory10 ] path = /config/vpPhone/vpPhone.ini #Set Memory key10 type = Line = Value = PickupValue = DKtype = [ memory11 ] key” path = /config/vpPhone/vpPhone.ini #Set line key1 DKtype = 15 Line = 0 Value = memory11 to memory16 are associated to “line . . . Restore the memory11 to memory 15 contexts T28P has all of them T22P and T26P have 3 (memory11 to memory13) T20P has only 2 (memory11 and memory12) [ memory16 ] path = /config/vpPhone/vpPhone.ini #Set line key6 DKtype = 15 Line = 0 Value = [ Profile ] path = /config/vpm.cfg VAD = 0 CNG = 1 ECHO = 1 SIDE_TONE = -3 [ Jitter ] path = /config/vpm.cfg Adaptive = 1 Min = 0 Max = 300 Nominal = 120 Administration Manual - 105 - Rev.: 15-02-2015 [ Message ] path = /config/Features/Message.cfg #Set voicemail number for each account VoiceNumber0 = VoiceNumber1 = VoiceNumber2 = VoiceNumber3 = VoiceNumber4 = VoiceNumber5 = [ Country ] path = /config/voip/tone.ini Country = Italy Change Tone set [ Tone Param ] path = /config/voip/tone.ini dial = ring = busy = congestion = callwaiting = dialrecall = record = info = stutter = message = autoanswer = [ Default ] path = /config/voip/tone.ini dial = 1 ring = 1 busy = 1 congestion = 1 callwaiting = 1 dialrecall = 1 record = 1 info = 1 stutter = 1 message = 1 autoanswer = 1 [ AreaCode ] path = /config/DialRule/areacode.cfg code = minlen = maxlen = [ BlockOut ] path = /config/DialRule/BlockOut.cfg #Set Block Out number. 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10 = [ RemotePhoneBook0 ] path = /config/Setting/Setting.cfg URL = Name = [ RemotePhoneBook1 ] path = /config/Setting/Setting.cfg URL = Name = [ RemotePhoneBook2 ] path = /config/Setting/Setting.cfg Administration Manual - 106 - Rev.: 15-02-2015 URL = Name = [ RemotePhoneBook3 ] path = /config/Setting/Setting.cfg URL = Name = [ RemotePhoneBook4 ] path = /config/Setting/Setting.cfg URL = Name = [ Webserver Type ] path = /config/Advanced/Advanced.cfg WebType = Snom phones sample configuration template <settings> <phone-settings e="2"> <dhcp perm="">%KP_WANTYPE%</dhcp> <ip_adr perm="RW">%KP_WANSTATICIP%</ip_adr> <netmask perm="RW">%KP_WANSUBNETMASK%</netmask> <gateway perm="RW">%KP_WANDEFAULTGATEWAY%</gateway> <dns_server1 perm="RW">%KP_DNS1%</dns_server1> <user_realname idx="1" perm="">%KP_DISPLAYNAME%</user_realname> <user_name idx="1" perm="">%KP_USERNAME%</user_name> <user_host idx="1" perm="">%KP_SIPSERVERHOST%</user_host> <user_pname idx="1" perm="">%KP_USERNAME%</user_pname> <user_pass idx="1" perm="">%KP_PASSWORD%</user_pass> <user_outbound idx="1" perm="">%KP_OUTBOUNDHOST%:%KP_OUTBOUNDPORT%</user_outbound> </phone-settings> </settings> Note: in case of DHCP device configuration, information related to static configuration (tags ip_adr, netmask, gateway and dns_server1) is automatically removed from the configuration file created by KalliopePBX Provisioning system. Administration Manual - 107 - Rev.: 15-02-2015