Building Enterprise Ready Telephony Systems with sipXecs 4.0 — Save 50%
Leveraging open source VOIP for a rock-solid communications system
sipXecs has several server-side features that provide additional functionality. These functionalities are not otherwise available in the phones themselves. Many of the basic features will be covered in this article. This ever-increasing list of system features helps set sipXecs apart from its competition. As you will discover in this article, the features are easy to configure and they are easy for the end user to utilize. In this article by Michael W. Picher, we will cover configuration of the following services:
- Auto attendant
- Paging Groups
- Call Park Orbits
- Music on Hold
The multi-level auto attendant service provides system-wide answering of incoming calls, dial-by-name abilities, automated transfer to local extensions, access to remote voicemail retrieval, and transfer to other auto attendants.
The auto attendant is often the first impression your callers will have of your organization, so designing a menu structure that is clear and concise is critically important. For good auto attendant design, try not to have more than two auto attendants deep. Callers quickly become annoyed if they have to go through too many menu layers.
The auto attendant configuration is accessed through the system administration screen by clicking on the Features menu and then selecting the Auto Attendants menu item. The Auto Attendants page will be displayed as follows:
By default there are two auto attendants defined, but only the Operator auto attendant (AA) is in use. The administrator is free to create as many auto attendants as he or she would like. Auto attendants can be cascaded to create multiple levels.
Which auto attendant answers initially for the system is specified in the Dial Plan settings . Default Auto Attendant, Working Hours Auto Attendant, and Holiday Auto Attendant can all be specified as part of the Dial Plan configuration.
On the Auto Attendants page a Special Auto Attendant may be selected with the select drop-down menu. This feature is useful if the organization is unexpectedly closed. In addition to activating the Special Auto Attendant on this page, it can also be activated remotely through the voicemail system by a system administrator or a user with the Record System Prompts permission
To edit an existing attendant, click on its name. To add a new auto attendant, click on the Add Attendant hyperlink. The default Operator auto attendant has been selected for editing in the following screenshot:
The name of the auto attendant can be changed and a more detailed description added if desired. To listen to the existing prompt, click on the Listen hyperlink. To upload a new prompt to play click on the Browse button and locate the file on your local computer. Auto attendant prompt sound files must be 8khz / 16 bit PCM samples, signed, little-endian, 1 channel (mono), .wavheader (implied 128kbps). There are many products available for manipulating audio files. MediaCoder (http://www.meoderhq.com) works very well for exchanging between different audio formats. Audacity (http://audacity.sourceforge.net/) is a sound mixer that allows mixing in music along with recorded voice.
The following actions may be assigned to the phone dial pad keys (0 through 9,asterisk—* and pound—#):
- Operator: Routes the call to extension zero (0).
- Dial by Name: Connects the caller to the dial-by-name directory.
- Repeat Prompt: Replay the greeting that was just heard.
- Voicemail Login: The caller will be directed to the voicemail system and prompted to log in.
- Disconnect: Plays a good-bye message and ends the call.
- Auto Attendant: Routes the caller to another auto attendant.
- Transfer to Extension or Other Destination: Routes the call to an extension. This can be a user on the system, hunt group, ACD queue, or an external phone number.
- Deposit Voicemail: Directs the caller directly to a voicemail box, plays the voicemail box greeting, and the user can leave a message.
To add an action, click on the Dialpad drop-down box at the bottom of the table to select the digit desired, select the Action with the drop-down box, and click on the Add button.
If a parameter is required a dialog or drop-down box will appear in the Parameter column shown as follows:
Click on the OK or Apply button to make the changes take effect. The changes will become live after a short delay for the system to generate the new VXML (Voice XML) code in the background. To remove an action, place a check mark next to the action and click on the Remove button. Likewise, to reset the menu back to its default settings click on the Reset to Defaults button. Clicking on the Options link on the left side of the page allows the administrator to customize DTMF (Dial Tone Multi Frequency) handling and Auto Attendant Invalid Response handling. The Auto Attendant Options page is shown as follows:
The following DTMF handling settings are available:
- Inter-DTMF Timeout: The time to wait between each dial pad key press before interpreting the caller's request. This value cannot be greater than Overall DTMF Timeout. (Default: 3 seconds.)
- Overall DTMF Timeout: The total time to wait before interpreting the caller's request. (Default: 7 seconds.)
- Maximum Number of DTMF tones: The maximum number of dial pad key presses to accept before interpreting caller's request. (Default: 10 key presses.)
The Invalid Response settings allow the administrator to configure the auto attendant's behavior when callers enter an invalid response or no response is received.
- Replay Count: The number of times the auto attendant prompt will be repeated after the initial announcement due to no input being received. (Default: 2 times.)
- Invalid Response Count: The number of times the caller can input an invalid response before the auto attendant transfers or disconnects the call. (Default: 2 times.)
- Transfer on Failures: If this setting is enabled, the auto attendant will transfer the call to a designated extension if no valid response is received. If disabled, the call will be disconnected. (Default: unchecked.)
- Transfer Extension: The extension to be used when transfer on failure is enabled.
- Prompt to play when transferring call after failure : The administrator can specify a WAV fi le to play before transferring the call after a user input error.
After the desired settings are modified click OK or Apply to make them active.
eBook Price: $26.99
Book Price: $44.99
Auto Attendant example
When designing an auto attendant, the best policy is to keep the menu structure as simple as possible. Most of us have experienced examples of poorly designed auto attendants and they never result in a positive experience for the caller. The following is an example flow diagram of a multilevel auto attendant for a typical widget company.
The above example shows how an Auto Attendant menu structure would be created and flow in sipXecs. This auto attendant is referred to as a multilevel auto attendant because main menu option 2 calls yet another auto attendant.
The preceding call flow has calls getting to the main auto attendant from the gateway to extension 100. Users have menu options 1 to 4 for various departments, 9 for the dial by name directory, 0 will dial the system operator extension, # is the option for a caller to get to the voicemail system login, and * allows the user to repeat the auto attendant prompt. The options 9, 0, #, and * are fairly common across different voicemail systems.
The intercom feature allows a caller to dial an extension, and have the called extension automatically go off hook so the two parties can then have a conversation. This feature only works with Polycom, LG Nortel, and snom phones on the receiving end of an intercom call. To configure the intercom feature, in system administration click on the Features menu and select the Intercom menu item. The following screenshot shows the intercom feature enabled for the phones in the Poly650 and Poly330phone groups.
The available settings are as follows:
- Groups: This contains list of phone groups for which the receiving end of an intercom call is allowed. The intercom feature only works with Polycom, LG Nortel, and snom phones at the receiving end of the call that are members of the groups listed. As in other places in the configuration server, use spaces to separate multiple group names and groups can be defined on-the-fly.
- Intercom prefix : This allows the administrator to customize the intercom feature code. This is the prefix that needs to be dialed before the extension in order to make the phone answer the call automatically.
- Ring time: This is the amount of time (in seconds) the receiving phone is going to ring before automatically answering and going off-hook. Entering 0 results in the phone answering the call immediately without ringing.
- Alert info (Displayed by clicking on Show Advanced Settings: This is an internal configuration value, used by Polycom phones, to determine if the call is to be answered automatically.
Click on the Apply button to save the changes. The dial plan must be reactivated and the affected phones must have their configuration profiles regenerated.
A paging group is a group of extensions that will be contacted, automatically go off hook, and have an announcement message played. Polycom and LG Nortel phones are automatically configured to automatically answer a page. Other phones may need to be configured manually to receive a page. The Paging Groups feature is accessed from the System Administration page by clicking on the Features menu and selecting the Paging Groups menu item. The following page will be displayed:
Click on the Add Paging Group hyperlink near the middle of the page and the Paging Group configuration page will be displayed as seen in the following screenshot:
The following settings are available for configuration:
- Page Group Number: This is the number that will be dialed after the paging group feature code (the default feature code is *77). If the system will have many paging groups then start with double-digit codes and adjust your phone dial plans accordingly.
- Description: This is a text explanation regarding what this paging group is for.
- Page Timeout: This is a value in seconds after which a page will timeout if the caller has not hung up the call. The page timeout can have a maximum value of 600 seconds. A page timeout of zero means that the page will never time out.
- Beep Sound: This is a WAV file that will be played preceding the page.
Once the settings are configured as desired, enter a list of extensions with the Add Extension hyperlink.
Note that paging does not work reliably if a paging group member extension has multiple appearances. Add a separate extension used just for paging on any phones that require multiple appearances of the same extension. Click on the OK button to save the configuration changes and return to the Paging Groups page. As seen in the following screenshot, the page group will now be listed along with the ability to change the paging feature code prefix.
Clicking on Show Advanced Settings will reveal a SIP Trace Level drop-down box, which enables trace or debug logging for the paging service. This can be helpful for debugging if a phone is having difficulty receiving pages. Log files can be found in the /var/log/sipxpbx folder. Once the paging server changes are complete the Activate button must be clicked to restart the paging service. If the paging feature code prefix is changed, the system dial plan must also be reactivated.
eBook Price: $26.99
Book Price: $44.99
A hunt group is a collection of extensions that ring in a particular order when the hunt group number is dialed. To access the Hunt Groups page, from the System Administration page click on the Features menu and select the Hunt Groups menu item. The Hunt Groups page will be displayed as follows.
To add a hunt group, click on the Add Hunt Group hyperlink near the middle of the page. The Hunt Group page will be displayed as follows:
Hunt groups are configured with the following information:
- Name: This is the text name for the hunt group.
- Extension: This is the extension that is dialed to reach the hunt group, often referred to as the pilot number for the hunt group.
- Description: This is the text description to help document the system configuration.
- Call Sequence: This is the order in which extensions ring and for how long they ring. Check the box and use the Move Up and Move Down buttons to change the order of extensions. The drop-down box under Sequence can have values of If no response and At the same time . Specify expiration time for each call. Users may only appear once in the hunt group.
- Use Voicemail: If this box is checked, the call is sent to the voicemail box of the last extension in the list if the call is not answered. If it is not checked, an alternative fallback destination can be specified.
- Fallback Destination: This will be visible only if Use Voicemail is unchecked. The value entered can be an extension, SIP address, auto attendant, park orbit, or another hunt group.
- Allow Call Forwarding: If this box is checked, calls to the hunt group will also follow user call forwarding rules. Clear the checkbox to force the hunt group to ignore user call forwarding (most often this is preferable).
Click OK or Apply to accept all changes to the hunt group. After clicking OK, the Hunt Group page will be displayed as shown in the following screenshot:
Hunt groups can be duplicated by checking the box next to the hunt group name and clicking on the Duplicate button.
Call Park Orbits
A call park orbit is a queue that is intended to temporarily hold on to a call so that it can be picked up at any extension. The caller that is placed in a call park orbit will hear music or whatever message the administrator specifies. Once the desired party is located, they can retrieve the parked call from any phone they happen to be near.
To get to the Call Park configuration, from the System Administration screen, click on the Features menu and then the Call Park menu item. The following page will be displayed on entry to the Call Park feature:
The defaults for call park orbits can be set by clicking on the Defaults hyperlink near the middle of the page. The following screenshot shows the Park Orbit Defaults page after Show Advanced Settings was selected.
The following default settings can be configured for the Call Park Orbits. (Each call park orbit can have different settings. These are just the default settings that will be presented when call park orbits are created.)
Enable time-out: If this is enabled, the call will be automatically transferred back to the extension that parked the call once the time specified in Park time-out has elapsed. (Default: unchecked.)
- Park time-out: This is the time period in (in seconds), after which the call is automatically transferred back to the extension that parked the call if timeout is enabled. (Default: 120 seconds.)
- Allow multiple calls: If this is checked, more than one call can be parked on the orbit at the same time. Calls are retrieved in the order in which they were parked. (Default: unchecked.)
- Allow transfer: If this is checked, callers put on park are able to transfer the call back to the extension that parked the call by pressing zero (0). The administrator can configure a different transfer key in the advanced section. (Default: unchecked.)
- Transfer key: Pressing the transfer key defined here will transfer the call back to the extension that parked the call if Allow transfer is enabled. (Default: 0.)Clicking on the OK button will accept the changes to the call park orbit defaults. The Call Park page will be displayed again.
To create a call park orbit, click on the Add Call Park Extension hyperlink near the middle of the page. The Call Park Extension page will be displayed as shown in the following screenshot:
The following settings can be set for each call park orbit:
- Name: A text name given to the call park orbit.
- Extension: This is the extension number that can be dialed to transfer a call to the call park orbit.
- Description: This is the text description of the call park orbit to help with documenting the system.
- Background music : This is the audio that will be played to the callers waiting in the call park orbit. As with a call on hold, call park will play the audio file from the beginning of the file for each user.
All of the settings from the default Call Park page as described above. Click on OK to accept the changes and activate the Call Park Orbit.
Calls are placed into a call orbit by an unattended (blind) transfer to the Call Park Orbit extension number. Calls can be retrieved by any phone on the system after parking by pressing *4, followed by the extension number.
Music on Hold
As of this writing there is no one standard for supporting music on hold with a pure SIP phone system. Polycom and snom phones are known to support the same Music on Hold service IETF draft that Sipfoundry chose to support in sipXecs. To change the Music on Hold audio, from the System Administration page, click on the Features menu and select the Music on Hold menu item. The following page will be displayed where the administrator can select a WAV file already present on the system or click on the Browse button to select a WAV file on his/her local computer.
Clicking the Apply button activates any change to Music on Hold. Each call placed on hold will hear its own instance of the music on hold audio file starting from the beginning of the file. Information on the IETF draft can be found at http://svn.resiprocate.org/rep/ietf-drafts/worley/draft-worley-service-example-01.html.
The Phonebook feature in sipXecs allows centralized management of phone number directories within the phone system. This allows users to look up phone extensions and phone numbers by name, and dial directly from the directory.
The administrator can create different directories per department, user group, or for individual users. In addition to being able to maintain a list of internal users, lists of external phone numbers can be imported for often-needed phone numbers. At present, this feature is supported on Polycom, snom, and ClearOne MAX IP phones.
To create a system phonebook, from the System Administration page click on the Features menu and select the Phonebooks menu item. The following page will then be displayed:
Click on the Add Phonebook link near the middle of the page and the Phonebook page, as shown in the following screenshot, will be displayed:
The following settings can be set for each phonebook:
- Name: This is a text name given to the phonebook.
- Description: This is a text description of the phonebook to help with documenting the system.
- Member UserGroups : This is the groups of users to be included into the directory. If a user happens to be in multiple groups they will only be added once.
- Consumer User Groups : These are the users who are allowed to use the directory. If the user has a compatible phone the directory will be downloaded to the phone when the phone boots.
- Additional Users (CSV): In addition to the users in the user groups these users (typically external phone numbers) will also be included.
- Additional Users (vCard): This is another method for importing external phone numbers into the system.
For importing external phone numbers the Comma Separated Values (CSV) file should have a title line (which will be ignored) then one or more lines in the following format: First name, Last name, Number or URI
The following is an example CSV file that could be imported to the system:
First name, Last name, Number or URI
Antonios, Pizza, 5555551212
TellMe, News, email@example.com
Weather, Phone, 5555551212
The vCard file format is a standards-based file format that provides an electronic equivalent of a business card. It is supported by many different applications and often exchanged in emails. The vCard format is owned and maintained by the IMC (Internet Mail Consortium) (http://www.imc.org/).
We've covered most of the basic system-provided features of the phone system. As highlighted in many of the features, phone selection is very important as not all features are supported on all makes and models of phones. This will continue to be one of the underlying challenges of a 'standards'-based phone system.
To summarize, we have covered configuration of the following services:
- Auto attendant
- Paging Groups
- Call Park Orbits
- Music on Hold
If you have read this article you may be interested to view :
About the Author :
As an industry veteran with over 20 years in Information Technology consulting, Michael brings a network engineer’s perspective to the Telephony business. After receiving a Bachelor of Science degree in Computer Engineering from the University of Maine, Michael worked hard to build up a computer manufacturing business which he left in the mid ‘90s. Following the manufacturing endeavor Michael worked with two close friends to build what became one of Maine’s largest home-grown technology consulting and software development firms. After successfully selling the consulting business to a large out of state firm, Michael turned his attention to the growing IP Telephony space. Michael has helped successfully deploy some of the region’s largest IP based communications systems and the infrastructure required to support those systems.
Away from technology, Michael enjoys life with his wife Debra and son Matthew on their large Maine wild blueberry farm in rural Maine. Snowmobiling and hunting are the family choices for fun and Michael is also a long time Autocross fanatic with multiple class wins in his beloved Mini Cooper S.