Trixbox Pro v2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

trixbox Pro v2.

0
Complete setup guide for a small business
Document v1.2 - Last updated by Chris Sherwood, SureTeq, Inc.
trixbox Pro v2.0 is Fonality's Hybrid-hosted Asterisk PBX solution that comes as a
downloadable ISO. It makes the process of bringing up a VoIP PBX solution a piece of
cake. This document details, step by step, how to install and configure trixbox Pro v2.0
for a small business. It includes information on how to set up extensions, incoming and
outgoing phone calls, and other useful applications.
SureTeq is an FtOCC Admin and Tech authorized Trixbox support vendor. We can
provide remote support and troubleshooting, or we can design, implement and support
your company's complete VoIP PBX solution.
Let SureTeq provide you with FtOCC certified trixbox Pro and/or trixbox CE hourly
support! Hourly rates and support contracts are available. For pricing information and
contact details, please contact us!
- SureTeq now has a blog/RSS feed! Subscribe to our blog for tips, tricks, news, and
general information about all things Asterisk/Trixbox.

Table of contents
1.0 - Hardware platform used in the creation of this document
2.0 - Download and install trixbox Pro v2.0
3.0 - Setting up your server
3.1 - Set up your DHCP server
3.2 - Install Webmin
3.3 - Connecting via SSH
3.4 - Secure SSH RSA key pair authentication
4.0 - Setting up your hardware
5.0 - General trixbox Setup/Security
5.1 - Options --> Customer
5.2 - Options --> Settings
5.3 - Options --> Network
5.4 - Options --> Link Server
6.0 - Dial Plan
7.0 - Configure Internal Extensions
7.1 - FXS Extension
7.2 - Softphone Extension
7.3 - Polycom phone setup
7.4 - Grandstream GXP-2000 setup
7.5 - Aastra phone setup
7.5 - A note on hardware phones
8.0 - Trunks
8.1 - FXO Trunk
8.2 - T1 Trunk
8.3 - Voipjet Trunk
9.0 - Dial Plan Setup
9.1 - Local Dial Plan
9.2 - Long Distance Dial Plan
9.3 - International Dial Plan
10.0 - Call Menus
10.1 - System Recordings
10.2 - Sub-menus
10.3 - Scheduler
10.4 - MAIN submenu
11.0 - On Hold Music
12.0 - User Control Panel
12.1 - UCP Home
12.2 - UCP Voicemail
12.3 - UCP Calls
12.4 - UCP Features
12.5 - UCP ACD
12.6 - UCP Reporting
13.0 - Groups
14.0 - Call Queues
14.1 - Creating a Queue
14.2 - Add Queue to a Submenu
14.3 - Create Queue Extension
14.4 - ACD Reports
14.5 - ACD Recording
14.6 - Agent Commands
15.0 - HUD
15.1 - HUD Installation and Configuration
15.2 - Web Launcher
16.0 - Extra Features
16.1 - Status --> resources
16.2 - Status --> alerts
16.3 - Options --> echo
16.4 - Conferences

1.0 - Hardware platform used in the creation of this


document
Installing on a Dell Dimension 9150
Intel Pentium D CPU (2.8GHz dual core)
2GB RAM
Zaptel card:
Digium TDM400 with 1 FXO and 1 FXS module
PSTN line connected to the FXO module

Hybrid Hosted trixbox Pro diagram


2.0 - Download and install trixbox Pro v2.0
Download the trixbox Pro v2.0 ISO file from trixbox.com:
https://buy.trixbox.com/trixbox/entry.cgi#1
Select the first option 'Download, activate or buy a new trixbox Pro server.
*** NOTE: - there are 3 different versions of trixbox Pro - SE, EE, and CCE. These
stand for Standard Edition (SE - free version), Enterprise Edition (EE - $5.59 - $9.99 per
extension per month), and Call Center Edition (CCE - $10.19 to $19.99 per extension
per month). The free edition (SE) is perfect for most small offices of up to 10 users, and
works with HUD Lite. The next level (EE) gives you everything in SE plus some
additional features such as conference bridges, alerting, multiple auto-attendants,
paging and intercom, group permissions, and you get an upgrade to HUD Pro which
adds presence management, drag and drop call control, and interactive desktop alerts.
CCE gives you everything in SE and EE, but also adds in robust ACD and IVR
capabilities, unlimited queues, skills-based routing, real-time queue stats, enhanced
reporting, and enhanced recording capabilities. CCE also comes with HUD pro, and is
targeted to small to medium call centers. To see a more detailed explanation of the
differences between the three versions, see https://www.trixbox.com/products/help-
me-choose.
Next, choose which trixbox option you would like (download SE (free version), or buy
EE or CCE). You then can choose stand-alone server (if this is the first or only server in
the enterprise), or you can associate it with an existing server (linked servers). If you
are choosing the free version, you will enter in your email address and your information
will be emailed to you. You can then download the ISO. If you are buying EE or CCE,
you fill out your info and payment info and then you can download the ISO.
*** NOTE: - I am going to be going over all the features of trixbox Pro in this
document, regardless of version downloaded. I will try my best to differentiate which
features are for which version.
Burn the ISO to a CD and boot to it.
*** WARNING ***
This CD will completely destroy whatever data is on the computer you are booting to.
Make sure this is what you want to do before proceeding.
When Trixbox splash screen opens, hit Enter.
For keyboard type, take default (US).
You are then asked about testing the CD media...I usually skip this because it takes a
long time, but you can run it if you like.
System will now format the hard drive and install trixbox Pro.
When the install finishes, the CD tray will open. Remove the CD. System will reboot and
then you will end up at the login prompt.
Here is where you need to activate your system with the email that was sent to you
from Fonality. Type 'activate' at the 'inactive login:' prompt. The system will try to get a
DHCP address from your network. If you don't have a DHCP server, would like to use
the trixbox as your DHCP server (recommended), or would simply like to set your
system with a static IP address (also recommended), select option 2 and manually
enter in IP addressing information.
*** NOTE: If you are going to use the trixbox as your DHCP and DNS server, you will
have to enter in a temporary DNS server address here first so that your system can
communicate with Fonality's servers.
Once you have your network settings set properly, select option 3. If all goes well, you
will be prompted for your username. Use the username that you received in the email
from Fonality (tbadminXXXXXX where XXXXXX is your trixbox ID).
You are then prompted for your password...this is also in the email from Fonality. Once
this is entered, your system contacts Fonality's servers and finishes your configuration
and installs the latest trixbox updates.
*** NOTE: If you have already used your trixbox ID and are rebuilding your server,
you will be told that your system has already been configured and that your previous
config will be downloaded to this server.
Once the system has finished the install, you will see 'Congratulations! Your system has
been activated.' Press ENTER.
You should now see the login prompt. Log in with 'ip' as the username and password,
and you will be able to set your root password by selecting option 11 from the menu.
Enter your new root password twice to change it. Choose 'Q' to quit the menu and then
log into your system as 'root' with your new password.

3.0 - Setting up your server


3.1 - Set up your DHCP server
If you would like to use the trixbox as the DHCP server for your network (definitely
recommended, especially if you want to use Polycom or Aastra phones), then you need
to configure DHCP to hand out IP addresses for other devices on your network. Go into
the Linux CLI and do the following:
cd /etc
nano -w dhcpd.conf
Now, scroll down to the bottom of the file. You should see a line that says:
subnet 0.0.0.0 netmask 0.0.0.0
You will want to replace that line and everything below it with your network
information. Mine looks like this...you should change yours so that it mirrors your
network settings (disregard the notes in red):
subnet 192.168.100.0 netmask 255.255.255.0 {

option routers 192.168.100.1; # Default gateway


option subnet-mask 255.255.255.0; # Subnet mask
option domain-name "asterisk.local"; # Domain name
option domain-name-servers 192.168.100.16, 4.2.2.2; # DNS
servers - the .16 address is my trixbox
option time-offset -28800; # Time zone - this is for PST (-8
GMT)
option ntp-servers clock.redhat.com; # NTP server

range dynamic-bootp 192.168.100.100 192.168.100.199; # Range of


DHCP addresses to hand out
default-lease-time 21600;
max-lease-time 43200;
authoritative;
}
Once your settings are set, exit nano by pressing CTRL+X and the 'Y' to save.
Restart DHCP with:
service dhcpd restart
Your system is now configured to hand out DHCP addresses on your network, and to
auto-configure Polycom and Aastra phones.
3.2 - Install Webmin
***Optional step - Webmin is a valuable tool used for the configuration of Linux-based
servers. I install Webmin by default on all of my Linux boxes simply due to its ease of
use. Webmin installs an HTTP-based GUI which you can get to by using port 10000
from a browser.
To install Webmin, you need to run the following in your Linux CLI:
cd /usr/src
wget http://prdownloads.sourceforge.net/webadmin/
webmin-1.410-1.noarch.rpm
rpm -ivh webmin-1.410-1.noarch.rpm
*** NOTE: As of the publication of this document, the latest webmin version was
1.410-1. You will need to adjust this for whichever version is the latest, and you can see
the URL for the latest version by hovering your mouse over the 'RPM' link on the
webmin homepage at www.webmin.com.
Once the install has finished, you can get to your Webmin console by putting the
following into a browser that exists on your LAN:
https://192.168.100.16:10000 (obviously, replace my IP with your Trixbox IP, and note
that this is HTTPS...not HTTP).
3.3 - Connecting via SSH
Most people prefer to connect to their trixbox system via SSH instead of having to be at
the console. This can be done with SSH programs such as PuTTY (free download) or
SecureCRT (not free, but my preferred SSH/telnet client). There is one thing you need
to know when connecting to your trixbox Pro, and that is the difference between the
internal and external FQDN's that Fonality gives you. There are two:
s123456.trixbox.fonality.com - (where 123456 is your server number) This is your
INTERNAL FQDN...it will resolve to your INTERNAL trixbox IP address.
s123456x.trixbox.fonality.com - (where 123456 is your server number) This (with the
'x') is your EXTERNAL FQDN...it will resolve to your trixbox's EXTERNAL IP address.
So, basically, if you are connecting via SSH internally, use the first FQDN or the internal
IP address. If you are connecting remotely, use the second FQDN or the external IP
address. To connect remotely, you will also need to open up TCP port 22 in your firewall
and point it to your server.
3.4 - Secure SSH RSA key pair authentication
I wrote a blog post about how to configure both PuTTY and SecureCRT for secure RSA
key pair authentication instead of username/password authentication. This is a good
idea if you open up SSH to the outside world.

4.0 - Setting up your hardware


trixbox Pro makes it easier than ever to configure your PSTN hardware. There is now a
hardware configuration GUI in the control panel. Let's take a look at it.
Open up http://cp.trixbox.com and log in using your tbadminXXXXXX username and the
password that was sent to you in email. This is your control panel. Click on Options -->
Cards to set up your hardware. First, select your card from the upper left drop down
box. I have a Digium TDM400 card in my system with 1 FXS and 1 FXO port.
One quick sidenote, FXS ports are for hooking up an analog phone extension to your
trixbox, FXO ports are for the phone line that the phone company gave you.
Once you can see your card, click 'edit' on whichever port you would like to edit.

There are many settings available for configuring your ports. Under most circumstances,
you should just leave everything default. If your card has hardware echo cancellation,
you want to make sure to turn it off here (Echo Cancel = no, Echo training = no). Also,
if you are having volume problems (callers can't hear you, or you can't hear callers),
you can adjust the RX (Receive) or TX (Transmit) gain. You should never have to adjust
gain more than +/- 5.0db however.
If you still want to be able to manually configure your zaptel.conf and zapata.conf files,
you can click on '[ Advanced Mode ]' and you will be able to do so there.
For T1 card configuration, you should have more options such as signaling and
switchtype. T1 configuration is beyond the scope of this document, but if you would like
SureTeq to configure your T1 card for you, do not hesitate to contact us!

5.0 - General trixbox Setup/Security


Now it is time to configure Asterisk/Trixbox.
Let's start by going through some of the settings in the GUI.
5.1 - Options --> Customer
Click on 'Options --> Customer.'
In the customer section, you can enter in your company name and website, as well as
email and physical contact information. You can also choose to subscribe to the trixbox
tech update email.
Enter in all of your information and click 'Apply All Changes' to save.
Now let's move on to 'Options --> Settings.'
5.2 - Options -> Settings
This is where you can set all of the general settings for your trixbox Pro, and where you
can change your tbadminXXXXXX password. I recommend changing your password to
something easier to remember, but still using strong password best practices. You can
also change the following:
Global Caller-ID: This is the caller ID that will be used for any extension set to 'Global
Default.'
Forwarded Caller-ID: This is what the system uses when you forward a call came
into the system...by setting it to 'set to original Caller-ID, the system uses the caller-ID
of the inbound caller.
Server Local Time: Set to your time zone
Country: Set to your country
Country indication tones: This sets the dialtone of your system to your country's
standard dialtone
Transfer and clear: This is mainly for Centrex lines...it allows you to blind transfer a
call outside your system without bridging the call, and therefore taking up 2 lines
Rollover help: Enables or disables the rollover help in the trixbox GUI...I recommend
leaving this on.
Rollover humor: Fonality employees put some extra text in a lot of the rollover
selections that are humorous..kind of cool to check out, but doesn't affect the
functionality of the system in any way
Parking seconds: The number of seconds before a parked call is transferred back to
the extension that parked them
Voicemail/Name-Dir Escape: 0: This sets where you want a person to go when they
press '0' from either the company directory or voicemail
Voicemail/Name-Dir Escape: *: Same as above, but for the * key
Voicemail Volume: This adjusts the gain on voicemails left in the system
Route DIDs to Exts.: This is interesting...if you have over 50 DID's in your system,
you may notice some slowness when callers call in. If you set this to the specific
number of digits you receive from DID's (typically 4), it should speed up this process.
You should probably just leave this default unless you are experiencing problems.
Allow Extension Keypresses: This tells the system whether or not you want inbound
callers to be able to dial internal extensions when they receive your main IVR message.
If enabled, ensure that you do not have an option in your IVR that starts with the same
digit that your extensions start with, or else the system will have a delay while it is
waiting to see if the caller was selecting the option, or dialing an extension. For
example, if you have 3xx extensions, you would not want an option 3 in your main IVR.
Night Mode: This allows you to manually bring the system in and out of 'Night Mode'
by dialing *66 (*NM) from any extension...this allows businesses that don't have
specific opening and closing times to still have a 'closed' message, but not have to use
schedules.
Night Mode password: Allows you to put a password on *66 Night Mode so that only
authorized people can put the system in and out of night mode...especially helpful if
you don't want any employee to be able to 'close' your office in the middle of the day.
Mail Server Hostname: The FQDN (Fully Qualified Domain Name, ie.
mail.company.com) of your email server if you don't want to use the onboard trixbox
mail server.
Mail Server Username: Self explanitory
Mail Server Password: Self explanitory
Company Directory Photos: Sets whether or not employees can upload or view
employee photos
Relax DTMF: This should only be set to 'yes' if callers are having trouble inputting IVR
options, extension numbers, etc. Basically, if it seems like your system is not responding
to caller keypresses, you can set this to 'yes' to see if that fixes the problem.
Show MAC address: This applies to phones...whether to show the phone's MAC
address instead of the phone's full name (not sure exactly where this applies)
Call Reporting: Turns on and off CDR records - note: these records are stored on
Fonality's servers in trixbox Pro, meaning that running CDR reports does not affect your
trixbox's CPU...sweet!
HUD Server Enabled: Enables or disables the HUD server...best to leave it on unless
you REALLY don't want to use HUD
HUD Auto Update: Specifies whether or not to automatically push HUD updates to
client machines
Limit Blast/Ringall Agents: If enabled, it limits the number of extensions in a blast
group or ring all group to 10. The reason for this is that blast groups and ring groups
put a good amount of load on the system because it has to generate the call to each
person in a blast or ring group individually. Unless you have a good reason to do so,
you should leave this set to 'yes'
Change Dial Out Prefix: If set to 'yes' you can manually set your dial out prefix. This
is useful if you want to have multiple dial out prefixes. For instance, if you want to use 9
as the prefix for long distance calls, but 8 as the prefix for international calls (because
you want them to use a different outbound trunk or something), then you should set
this to 'yes.' If set to 'no,' you can only use 9 as your prefix.
trixNet Enabled: This tells the system whether or not you are using trixNet. trixNet is
a 'skype-ish' application which allows multiple trixbox systems to dial each other without
incurring long distance fees. For more information, visit http://trixbox.com/products/
trixnet.
Phew...lots of settings there, but for most of these, you will only have to set them once
and then never go back. Once finished, click 'Apply All Changes.'
5.3 - Options --> Network
The Options --> Network section allows you to configure or re-configure the network
settings you specified upon install. You should see all of the settings that you put in
during installation. The only thing I recommend here is setting your trixbox's IP address
as the primary DNS, and then adding in a public Secondary DNS such as one given to
you by your ISP, or the one I always use, 4.2.2.2. That is one of AT&T's public DNS
servers...and I use it for one reason, and one reason only...it's easy to remember.

Once you have your network settings configured the way you like them, click 'Apply All
Changes' to save.
5.4 - Options --> Link Server
Most trixbox deployments won't take advantage of this feature, but if you are running a
larger-scale setup, you will definitely want to use this. When you download trixbox from
Fonality, you are asked at one point whether this is an additional server for a username
you already have. If you say yes, and the proceed to download, both servers should
show up in this section. This, however, is beyond the scope of this document. If you
would like consulting or design for linked servers, SureTeq provides this, so please feel
free to contact us.

6.0 - Dial Plan


Before we start configuring, we need to come up with a dial plan. Basically, you want to
map out exactly what you want your Trixbox to do prior to configuring it. This will help
guide you to the appropriate configuration. Keep in mind that a Dial Plan is not
something you configure in Asterisk...step away from the computer and pull out a piece
of paper to design your Dial Plan.
I have 1 PSTN line, 1 Voipjet line for outbound long distance, and three extensions
ready to be configured. I like to use 1xx extensions internally, and for inbound, I want
to set up some hours of operation so that I’m not bothered by clients after 7pm. With
this simple setup, my dial plan will look like this:
Inbound:
8:00am – 7:00pm – Go to main greeting (Welcome_greeting). Greeting states that:
2 gets my extension
3 gets my business partner's extension
4 to reach first available representative (round robin between our two extensions)
7:00pm – 8:00am – Go to closed greeting (Closed_greeting). Greeting states that our
office is closed, and to please call back between 8am and 7pm PST.
Outbound:
All local calls should be routed out the FXO port of my Digium TDM400 (PSTN line).
Long distance calls should be routed out my Voipjet account.
Internal extensions:
101 – Grandstream GXP2000 SIP phone
102 – XTen X-Lite softphone on my Windows computer
111 – Cordless telephone that is connected to the FXS port of my Digium TDM400
That’s it for my dial plan…very simple.

7.0 - Configure Internal Extensions


7.1 - FXS Extension
I will start by setting up my FXS port extension. Open up your trixbox Pro control panel
and choose 'Extensions --> add extension.'
Per my dial plan, this is going to be extension number 111, so I fill out the following in
the 'Add Extension: >> step one <<' section:
Extension Number: 111
Description: Cordless Phone (can be anything descriptive)
First / Last Name: Chris / Sherwood
Web Username: XXXXXX_111 (where XXXXXX is my trixbox server ID, and 111 is the
extension number. This will be used when logging into HUD and will also be used for
logging into the user control panel for configuring individual extension settings.)
Web Password: 12345 (can be anything)
Employee Email: (My email address)
Instant Messenger: Schw00d (my HUD instant messenger name)
Employee Phone: (My cell phone number - this displays in the company directory and
is used for HUD)
Inbound Phone No.: None (this is used for DID's if you have them)
Outbound Caller-ID: Global Default (You can set the Global Default in Options -->
Settings)
Ring Type: Ringing (This is what the callers hear while your phone is being dialed. You
could also set this to one of your Music on Hold (MoH) playlists, but I like to leave it on
a ring tone because people are most used to that)
Ring Seconds: 15 seconds (this is how long your phone will ring before going to
voicemail or to the next step in a call sequence such as Find Me)
Phones / Devices: Analog Port 1 / Zap/1 (my FXS port)
Now, let's move on to the settings in the 'Add Extension: >> step two <<' section:
Call Forwarding: disabled (any extension can be a virtual extension set to forward to
an IVR if you want, but this one is an actual extension, so we're going to leave call
forwarding disabled)
Queue Auto-logoff: disabled (this extension is not in any queues for now, so we're
going to leave this disabled...we will get to these ACD settings later - CCE feature)
Queue Press-to-accept: no (this settings makes an agent press 1 when picking up a
queue call rather than just having the call on the line when the agent picks up the
handset - CCE feature)
Queue Ignore-if-busy: yes (this means that if an agent is on a non-queue call, queue
calls will not ring through to this extension - CCE feature)
Multiple Queue Calls: no (this setting means that if an agent is currently on a queue
call, they can not receive another queue call - CCE feature)
Queue Pwd Required: no (this sets whether or not an agent has to enter in a
password to log in and out of a queue - CCE feature)
In Name Directory: yes (specifies whether or not you want this extension in the 'dial
by name' directory)
In Company Directory: yes (specifies whether or not you want this extension in the
company directory which users can print out from their user control panel)
In Blast Group: no (specifies whether or not this extension is in the Blast Group)
In HUD: yes (make this extension a HUD user)
Private Extension: no (if set to yes, it makes this extension an 'internal only'
extension so that outside callers can not get to it)
Visual-only Extension: setting disabled (this is for Polycom phones...it means that
this extension will never ring...it will only light up the 'ringing' button on Polycom
phones)
Voicemail Enabled: yes
Since we set 'Voicemail Enabled' to 'yes' above, let's now configure our voicemail
settings for this extension:
Voicemail Box: New Mailbox (Note: I typically have multiple extensions...one at home,
one at the office, a softphone on my laptop, etc. With this setting, I can make sure that
all of my extensions use the same voicemail box by creating it once, and then setting all
of my other phones to the first voicemail box created)
Voicemail Password: 12345 (can be whatever you want)
Voicemail Email: my_email_address
Voicemail Pager Email: my_pager_or_SMS_email (this can be used if I want a small,
simple notification that I have received an email...this is useful for pagers or SMS
devices)
Email Attachments: yes (when I get a voicemail, I want the voicemail sent to my
'Voicemail Email' as a WAV file attachment)
Delete When Emailed: yes (I set this to 'yes' because I don't like having to ever go
into my voicemail box to retrieve messages...so once they are emailed to me, they are
deleted from the voicemail system...I would only recommend this if you have a rock
solid email system because you wouldn't want to miss any of your voicemails)
Enable CallReturn: yes (this feature means that when I am listening to a voicemail, I
can press a key and the system will call that person back)
Enable CallOut: yes (this features allows someone checking their voicemail to press a
key and then dial an internal extension or external phone number...if dialing external,
you still need to dial 9)
Once all of your settings have been set, click 'Add Extension' and that's it! I should now
be able to pick up the cordless phone plugged into my FXS port and get a dial tone. You
should now see your new extension if you go to 'Extensions --> view extensions' in the
control panel.
7.2 - Softphone extension
Next, we’ll set up a soft phone so that I can dial between internal extensions.
First, we need to tell the system that we're going to be adding a new softphone
extension. Click on 'Extensions --> phones.'
In the 'Add phone' section, leave MAC blank, and drop the 'vendor' box down to
'Counterpath.' You will receive a popup:

Just click OK. You should now see that 'MAC' was populated with the word SOFTPHONE.
Now enter in a description...I'm putting in 'Schw00d's Laptop Softphone' so that I know
what this extension is for. Click on 'Add Device' and you should see your newly created
phone show up in the device list below. If this is your first softphone, your SIP
username and password should be 'SOFTPHONE001.' Now, it's time to set up the
extension.
In the control panel, click on 'Extensions --> add extension.'
Most of the settings are the same as the FXS extension setup above in section 7.1, so I
will only list the differences here:
Extension Number: 101
Description: Softphone
Web Username: XXXXXX_101 (where XXXXXX is my trixbox server ID)
Web Password: 12345
Phones / Devices: Schw00d's Laptop Softphone - SIP/SOFTPHONE001 (your selection
will start with whatever description you entered when creating the device)

All Extension options are the same as section 7.1 above.

Voicemail Box: 111 (I want this extension to share voicemail with the cordless phone I
configured above...if this is a new mailbox, enter the appropriate information)
Voicemail Password: 12345 (this needs to be the same password that I set when
creating voicemail box 111)
Click 'Add Extension' and you're done. If you now go to 'Extensions --> view
extensions,' you will see the voicemail box 111 information (email and settings)
populated, or if it was a new voicemail box, you will see the new information.
Now to configure the X-Lite soft phone which can be downloaded from http://
www.counterpath.com/x-lite.html.
You can use the setup wizard, or click the down arrow at the top left of the phone and
use these settings.
Before we start though, click on 'Extensions --> phones.' Remember when we originally
set up our softphone device and the username and password were both
'SOFTPHONE001?' Now that we have associated this softphone device with an
extension, the 'SIP Password' should now be the extension number (which for me is
101). Make a note of the SIP username and password, and then enter in the following
in the X-Lite SIP settings:
Display Name: Soft Phone (can be whatever you want)
User Name: SOFTPHONE001 (your SIP username from the devices page)
Password: 101 (your SIP password from the devices page)
Authorization User Name: SOFTPHONE001 (your SIP username from the devices page)
Domain: s123456.trixbox.fonality.com (where 123456 is your trixbox Pro server
ID...NOTE: if this is a remote extension, you will want to use
s123456x.trixbox.fonality.com which is your EXTERNAL FQDN)
Make sure that 'Register with domain and receive incoming calls' is checked, and that
'Send outbound via:' is set to 'target domain.'
We're not quite done yet...we need to configure the voicemail extension. Click on the
'Voicemail' tab and make sure 'Check for voice mail' is checked. In the field next to
'Number to dial for checking voicemail,' enter in 8555 which is the trixbox Pro voicemail
extension.
Click 'OK' and then click 'Close' on the SIP account settings page. Your X-Lite softphone
should now successfully register with your trixbox Pro.
You can now test calling another extension, and it should work!
7.3 - Polycom phone setup
trixbox Pro makes it really easy to provision both Polycom and Aastra phones...if you
have read my Polycom Central Server Setup for trixbox CE version, you know what a
pain in the butt this used to be...Fonality did a great job of making sure trixbox techs no
longer go bald from pulling their hair out.
First, plug the Polycom phone into your network. If you are using trixbox Pro as your
DHCP server, the phone will get a DHCP address, download the latest firmware, and
register itself with your system. After a reboot or two, you should see your phone's MAC
address appear in 'Extensions --> phones.' The SIP username and password should be
the MAC address of the Polycom phone, and the description should be 'Auto-detected.'
Since the phone is now a device on your trixbox, we can move on to extension
configuring.
In the control panel, click on 'Extensions --> add extension.'
Most of the settings are the same as the FXS extension setup above in section 7.1, so I
will only list the differences here:
Extension Number: 100
Description: Schw00d's Office Phone (can be whatever you want)
Web Username: XXXXXX_100 (where XXXXXX is my trixbox server ID)
Web Password: 12345
Phones / Devices: Auto-detected - SIP/0004F2XXXXXX (your selection will have your
phone's MAC address)

All Extension options are the same as section 7.1 above.

Voicemail Box: 111 (I want this extension to share voicemail with the cordless phone I
configured above...if this is a new mailbox, enter the appropriate information)
Voicemail Password: 12345 (this needs to be the same password that I set when
creating voicemail box 111)
Click 'Add Extension' and you're done. If you now go to 'Extensions --> view
extensions,' you will see the voicemail box 111 information (email and settings)
populated, or if it was a new voicemail box, you will see the new information.
Wow...that was super easy. Now rinse and repeat for your 100 seat call center.
7.4 - Grandstream GXP-2000 setup
The Grandstream GXP-2000 is a cheap, reliable phone that works great for small
offices. I typically recommend Polycom, but if you are on a budget, you can get the
GXP-2000 for about $85 bucks, and you will not be disappointed.
Since this phone is not trixbox Platinum certified, it has to be manually configured to
work with the trixbox Pro. Plug the phone into your network, and it should automatically
DHCP an IP address. The IP address is displayed on the screen of the phone. Mine
shows up as 192.168.100.105, so the first thing I do is point my browser to that IP
address.
When the Grandstream GUI comes up, enter 'admin' as the password, and you will be
let into the management interface. Click on the 'status' tab, and you will see the
phone's MAC address. Make a note of it and go back to your trixbox control panel.
In the control panel, click on 'Extensions --> phones.' In the 'Add Phone' section, drop
the 'vendor' box down to 'Grandstream.' You will receive the following message:

Click OK. Now, enter in the MAC address you got from the Grandstream GUI in the
'MAC' field. This should be entered without the colons (:) and in all caps.
Next, type in the phone's description and click 'Add Device.' You should now see it
appear in the device list. Make a note of the SIP username and password...they should
be the MAC address of your Grandstream phone.
Go back to the Grandstream GUI and click on the 'Account 1' tab. Enter in the following
information:
Account Active: Yes
Account Name: 103 (the extension number I'm going to use for this phone)
SIP Server: s123456.trixbox.fonality.com (where 123456 is your trixbox server ID)
Outbound Proxy: s123456.trixbox.fonality.com (where 123456 is your trixbox server ID)
SIP User ID: 000B82XXXXXX (your SIP username / Grandstream MAC address)
Authenticate ID: 000B82XXXXXX (your SIP password / Grandstream MAC address)
Name: Grandstream GXP2000 (whatever you want here)
We also need to set the voicemail extension, so on the same 'Account 1' page, you will
see 'Voice Mail UserID' about halfway down the page. Put 8555 into the field. Now,
scroll down to the bottom of the page and click 'Update.' On the next screen, click
'Reboot.' Your phone will now reboot and register with the trixbox. We now need to
associate it with an extension.
In the control panel, click on 'Extensions --> add extension.'
Most of the settings are the same as the FXS extension setup above in section 7.1, so I
will only list the differences here:livepage.apple.com
Extension Number: 103
Description: Schw00d's GXP-2000 (can be whatever you want)
Web Username: XXXXXX_103 (where XXXXXX is my trixbox server ID)
Web Password: 12345
Phones / Devices: Grandstream GXP-2000 - SIP/000B82XXXXXX (your selection will
have your phone's MAC address)

All Extension options are the same as section 7.1 above.

Voicemail Box: 111 (I want this extension to share voicemail with the cordless phone I
configured above...if this is a new mailbox, enter the appropriate information)
Voicemail Password: 12345 (this needs to be the same password that I set when
creating voicemail box 111)
Click 'Add Extension' and you're done. If you now go to 'Extensions --> view
extensions,' you will see the voicemail box 111 information (email and settings)
populated, or if it was a new voicemail box, you will see the new information.
That's it!
7.5 - Aastra phone setup
Aastra provides some great phones that cover the needs of almost any professional. I
have used the 9133i, the 480i, and the 55i, and have blogged about the pros and cons
of each in my blog post All about Aastra. Check it out for more detail on these
phones...since they are a trixbox Pro Platinum Certified hardware provider, their setup is
incredibly easy.
First, plug the Aastra phone into your network. If you are using trixbox Pro as your
DHCP server, the phone will get a DHCP address, download the latest firmware, register
itself with your system, and configure itself as the next available extension. After a
reboot or two, you should see your phone's MAC address appear in 'Extensions -->
phones.' The SIP username and password should be the MAC address of the phone,
and the description should be 'Auto-detected.' You will also see its new extension
number. Since the phone is now a device on your trixbox, we can move on to extension
configuring.
In the control panel, click on 'Extensions --> view extensions.'
Most of the settings are the same as the FXS extension setup above in section 7.1, so I
will only list the differences here:
Description: Schw00d's Aastra 480i (can be whatever you want)
Web Username: XXXXXX_100 (where XXXXXX is my trixbox server ID, and 100 is the
extension number...this should already be set)
Web Password: 12345 (whatever you want)
Phones / Devices: Auto-detected - SIP/00XXXXXXXXXX (your selection will have your
phone's MAC address)

All Extension options are the same as section 7.1 above.

Voicemail Box: 111 (I want this extension to share voicemail with the cordless phone I
configured above...if this is a new mailbox, enter the appropriate information)
Voicemail Password: 12345 (this needs to be the same password that I set when
creating voicemail box 111)
Click 'Update Extension' and you're done. If you now go back to 'Extensions --> view
extensions,' you will see the voicemail box 111 information (email and settings)
populated, or if it was a new voicemail box, you will see the new information.
7.6 - A note on hardware phones
I get asked a lot what a 'good' phone is, so I thought I'd take a moment to give you
some impressions on some of the more common hardware phones available.
Polycom SoundPoint IP phones - The IP430's and IP501's are very good mid-level
phones that retail for between $150 and $200 bucks each. These are the phones that I
typically recommend for installations comprising of 10 or more phones. The speaker
phone is full duplex and is arguably the best quality speaker phone available. You can
have from 2 to 6 line appearances depending on which phone model you choose. The
IP601 has a very nice side-car available for receptionists which is fully programmable
with line appearances.
Aastra phones - I have worked with three different models of Aastra phones. The
9133i is a great, low-cost phone that will cover the telephony needs of most users, and
would also be great deployed in a call center environment. The 480i gives you some
additional bells and whistles, has up to 20 softkeys for various functions, and a great
big display screen that looks great. The 55i is perfect for a receptionist, and can be
expanded with up to 3 sidecars for massive line control. To read more about the pros
and cons of the various Aastra phones, check out my blog post All about Aastra.
GrandStream GXP-2000 - This is a very good entry level phone that retails for about
$85 bucks. It has all of the basic functionality you would expect from an office phone
including speaker phone, 4 line appearances, and buttons for transfer, conference, voice
mail, and mute. It is pretty rugged and I have had nothing but good experiences with
this phone. It is fairly easy to configure (see above), but not quite as easy as the
Polycom and Aastra phones since Grandstream is not a trixbox Platinum certified
vendor.
Cisco phones - The Cisco phones look great, but they are difficult to configure and are
super expensive. I never recommend them.
If you have found this document useful, and plan on purchasing some hardware phones
or other VoIP equipment, I would greatly appreciate if you use the banner link for
Voipsupply.com below. I have purchased equipment from Voipsupply.com many times,
and I have always found their pricing to be great and their shipping fast, so I definitely
recommend them. By using the link below, you won't be raising YOUR purchase price at
all...you would simply be donating a small percentage of your purchase to me, and I
would definitely appreciate it!
My VoipSupply.com Link:

8.0 - Trunks
8.1 - FXO Trunk
Now that we have set up our internal extensions, let’s focus on getting calls out.
By default, trixbox Pro has already created a trunk out of my FXO port in the Digium
TDM400 card. If you look at the TDM card in 'Options --> cards,' and then click on the
FXO port, you will also see that it has been put in Zap group 0 (Zap/g0). That's it...the
configuration for your FXO ports is done automatically.
8.2 - T1 Trunks
The set up of a T1 trunk is beyond the scope of this document, but if you need T1 trunk
consulting, SureTeq provides this service, so please, don't hesitate to contact us!
8.3 - Voipjet Trunk
Voipjet provides outbound VoIP using the IAX protocol. I like to use Voipjet for my long
distance or as overflow trunks for PSTN or T1 lines because they are a 'pay-per-usage'
service rather than a monthly plan. You can throw $20 bucks into your Voipjet account,
and it is good until it is completely used up. You have to have more than $20 bucks in
your account to use their 'preferred' hosts though...those are going to be the most
reliable.
To set up Voipjet to work as an outbound trunk, first log into http://www.voipjet.com
and click on 'PBX Setup' in the left hand menu. You can ignore all of their setup
instructions because they are for old versions of trixbox, or for if you're setting up your
trunk in a vanilla Asterisk installation. You do however want to make note of your
Voipjet account number and authorization code (an MD5 string) and pick one of their
server hosts depending on your location and how much money is in your account. Once
you have all of that information, go into your trixbox control panel and click on 'Options
--> voip.'
Under 'Add VoIP Account,' fill in the following information:
Route Name: Voipjet
Username: (your Voipjet username)
Password: (your Voipjet password)
Provider: Other / IAX2
Register: no
Server: (your Voipjet server...I use west.voipjet.com)
Expand the 'Advanced' settings and make sure the following are set:
From Domain: (your Voipjet server...same as 'Server' above)
Qualify: 5000ms
Direction: out - (peer)
Authentication: MD5
Also, you want to make sure there is no register string since this is an outbound trunk
only. Leave everything else default.

That's it! Your Voipjet trunk is now ready to rock 'n roll.

9.0 - Dial Plan Setup


Well...we now have trunks set up, but we need to tell our trixbox Pro which trunks to
use depending on where we're dialing. In my trixbox, I have 1 PSTN line that doesn't
have long distance service, and my Voipjet VoIP trunk. I want all local calls, 911,
information, 0, and 611 to go out through my PSTN line, but I want long distance and
international calls to go out through my Voipjet trunk.
*** NOTE: My trixbox Pro is for testing and documentation purposes only. I don't use
it in a production environment, so that is why it is OK for me to use VoIP as one of my
main trunks. That being said, I NEVER recommend that my clients use VoIP across the
WAN unless it is being used as a failover for analog PSTN lines or a T1 trunk. VoIP is
not yet ready for prime time in my opinion, and won't be until the Internet is as reliable
as the PSTN. You can see more detail on this opinion in my State of the VoIP Address
on my blog.
9.1 - Local Dial Plan
Back to the configuration...click on 'Options --> dial plan.' You should see default routes
for local dialing, 911, 411,611, 0, long distance, and international dialing. There should
be two long distance dial plans, 9+1nxxnxxxxxx and 9+nxxnxxxxxx. My area needs to
have a 1 in front of long distance calls, so I click the red X to the left of 9+nxxnxxxxxx
to delete that dial plan immediately. I can use the rest of the dial plans though...let's
start with local calls:
Click on 9+nxxxxxx. It will open in the 'Update Dial Plan Entry' section. Set it to the
following:
Dial string 9 +: nxxxxxx (this should be default)
Description: Local calls
Type: local call
Route: 1st: Analog Line 4 (1) Strip digits: 1 (remove the 9 when sending the call out to
the PSTN) Prepend: <blank>
2nd: VoIP: voipjet Strip digits: 1 Prepend: <blank>
3rd: none
Click 'Update Dial Plan' and you're done! I use the same exact settings for the 911, 411,
611, and 0, except I leave the 2nd and 3rd routes blank meaning that my PSTN line
handles those calls only.
9.2 - Long Distance Dial Plan
We want to do the same thing for our long distance calls. Click on 'Options --> dial
plan.'
Click on 9+1nxxnxxxxxx. It will open in the 'Update Dial Plan Entry' section. Set it to the
following:
Dial string 9 +: 1nxxnxxxxxx (this should be default)
Description: Standard long distance
Type: long distance
Route: 1st: VoIP: voipjet Strip digits: 1 (remove the 9 when sending the call out to the
PSTN) Prepend: <blank>
2nd: none
3rd: none
Click 'Update Dial Plan' and you're done!
9.3 - International Dial Plan
International is pretty much the same settings as long distance. Click on 'Options -->
dial plan.'
Click on 9+011. It will open in the 'Update Dial Plan Entry' section. Set it to the
following:
Dial string 9 +: 011. (this should be default)
Description: International
Type: international
Route: 1st: VoIP: voipjet Strip digits: 1 (remove the 9 when sending the call out to the
PSTN) Prepend: <blank>
2nd: none
3rd: none
Click 'Update Dial Plan' and you're done! You should now send some test calls out of
your system to make sure everything is working properly.
trixbox Pro allows you to have up to 3 routes per dial plan entry. You can see that this is
a powerful way to route calls out of your system, and to do your own least-cost-routing
for long distance and international calls.

10.0 - Call Menus


Now, I need to tell my Trixbox what to do with incoming calls. Let's start with a simple
call menu that answers a call, plays a welcome message during business hours, a
closed message after hours, and then has the following key presses:
2 - my extension
3 - my business partner's extension
4 - customer service queue
10.1 - System Recordings
First, let’s take care of the necessary recordings.
I want two different messages…one for during business hours, and one for when we
are closed. The scripts will look something like this:
Thanks – “Thank you for calling Schw00d’s Asterisk emporium. Please press 2 for
Schw00d, 3 for Jim, and 4 for tech support. Thank you and have a wonderful day.”
Closed – “Thank you for calling Schw00d’s Asterisk emporium. Our office is now closed.
Please call back between the hours of 8am and 7pm Pacific Standard time. Thank
you.” (click).
To get these recorded first clear your throat and put on your best announcer voice.
Click on 'AutoAnswer --> voice prompts.' You should see two default recordings already
there (hello and goodbye)...they are exactly what you think they are...let's leave them
alone for now.
You can choose to either record voice prompts through the phone, or upload pre-
recorded WAV files. If you choose to upload your own files, make sure they are
recorded in 16-bit Mono at 8Khz and are less than 2MB in size. I won't cover anymore
on pre-recorded messages in this document, so let's record using our phone.
In the 'Record New Voice Prompt' section, type in a file name and a description. I'm
going to use 'Business_hours' for both. Then type in your extension and click 'Call Me!'
You should get a message that looks like this:

Click OK and your phone should ring in a few seconds. Follow the voice prompts to
record your message. Once you are satisfied with it, hang up and you should see your
newly recorded message appear in the voice prompts section.
Follow the same procedure for your 'closed' message, and you should have two
messages to get you started.
10.2 - Sub-menus
Our main incoming lines will be answered by the MAIN sub-menu, but we're going to
set that up later to simply be our time schedule. In the meantime, we need to create
two new sub-menus - one for during business hours, and one for after business hours.
Start by clicking on 'AutoAnswer --> sub-menus.' You'll see a bunch of default sub-
menus...ignore those for now, and let's create a new one.
Type in 'Business_hours' in the 'Submenu Name' field and click 'Create New Submenu.'
Once the submenu has been created, it will show up in the list of submenus below.
Click on it to bring up the submenu details.
When this screen comes up, it can be a bit confusing, but basically, there are two
separate sides. The left side is for the IVR functions, or how the system directs the calls
that are coming in. The right side is for setting up key press options for the submenu.
Let's start on the left.
We see that the first step sets the caller ID to the name of the submenu. That's
fine...but we need it to do something afterwards. We're going to want to have it play
the 'business_hours' recording we made in step 10.1, so in the 'Add New Sequence'
section, make sure it says 'After step' 1 and then drop down the box and select 'Play
voice prompt - allow keypress.' Click the 'Apply All Changes' button.
Your new step should now be listed under step 1. Drop down the box and choose the
'business_hours' greeting that you recorded and then click 'Apply All Changes.' Now,
when a caller hits this submenu, they will hear the recording. For best practices sake
though, we need to have an 'out' for if the caller does not press any buttons. Under
'Add New Sequence,' drop down the box and choose 'Wait - allow Keypress,' then click
'Apply All Changes.' You now have a step 3 that waits an allotted amount of time...this
timer starts counting after the message in step 2 is played. Select a good amount of
time from the drop down box (I'm going to set it to 30 seconds), and then click 'Apply
All Changes.'
Now we need to choose what happens after the timeout. I'm going to have it forward
to my extension, x100. Select 'Go to extension - forward=yes VM=no' from the drop
down box and click 'Apply All Changes.' Now, you should see this as step 4. Drop down
the 'Go to:' box and select the appropriate extension, and you can set the seconds to
30 seconds. This way, my voicemail should pick up if I'm not at my desk. Click 'Apply All
Changes.' We now have our call flow done...let's add some keypress options.
On the right hand side, you should see the 'Add New Keypress' section. Select option '2'
and change 'Go to:' to your desired extension. Click 'Apply All Changes.'
*** NOTE: I said this earlier, but I can't stress it enough...if you want callers to be
able to dial extensions directly when they hear your recording, DO NOT choose a
keypress option that matches the first digit of your extension pattern. If you do, you will
create a delay in your system. I started at option 2 because my extensions are all 1xx
extensions.
You can repeat the last step for keypress option 3 and so on if desired. We will add a
queue to this keypress set a little later in the documentation, but this is enough for
now. Here is a screenshot of what we just configured:

You will also want to repeat this entire process to create your 'after_hours' submenu.
One note on the after hours configuration...in step 2, instead of 'Play voice prompt -
allow keypress,' you may want to do 'Play voice prompt - disallow keypress' so that
callers can't get into your PBX. Personally, I leave mine on 'allow keypress,' but I don't
mention the keypress options in my voice prompt...this way, if the caller already knows
my extension, they can still get to me after hours.
The other change I make is that if a caller does not press any keys, I simply hang up
the call after hours rather than transferring to an extension. Here is what my
after_hours submenu looks like:

Let's move on to the scheduler.


10.3 - Scheduler
By default, trixbox Pro comes with 2 built in schedules. They are good enough to work
with for my business hours, so let's click on 'AutoAnswer --> scheduler' and take a look.
The first is 'Business Hours' and is set for Monday through Friday with hours of 8am to
5pm. I like my phone to ring from 8am until 7pm, and I receive calls into my system
from Monday through Saturday...so I need to change 5pm to 7pm, and Friday to
Saturday. Since I don't accept calls on Sunday, I don't need the 'Weekend Hours'
schedule, so I will delete that one.
After I make all of my changes, my schedule looks like this:
Adjust the schedule to match your hours, and click 'Apply All Changes.'
Now it's time to put it all together.
10.4 - MAIN submenu
Click on 'AutoAnswer --> sub-menus' and then click on the MAIN submenu. You should
see that it answers the call as step 1. This is always going to be step 1 for your MAIN
submenu because you can't do anything further unless the call is answered first. I find
it easiest to delete all other steps (except for Hang-up the call) and start from scratch
here. To do so, you will want to check the box on the left for every step and then click
'Apply All Changes.'
Now, we need to tell the submenu to follow the schedule we created in section 10.3. In
the 'Add New Sequence' section, make sure you are adding a step 'After step:' 1, and
select 'Go to submenu/ext. by schedule.' Click 'Apply All Changes.' Once it appears as
step 2 in your Call Sequence, change it so that it reads 'Go to: business_hours during:
Business_hours.' This tells the system to go to the business_hours submenu during the
'day' mode of the 'Business_hours' schedule. Now that that's set, we need to tell it what
to do after hours.
In the 'Add New Sequence' section, make sure you are adding a new step after step 2,
and select 'Go to submenu/ext. when in Night Mode.' Your system will automatically be
in night mode outside of the hours set up in the 'business_hours' schedule. Click 'Apply
All Changes.' The sequence should now be step 3 in your submenu. Change step 3's
drop down box to the 'after_hours' submenu and click 'Apply All Changes.'
One thing to note is that you do not need any keypresses (right hand side) in your
MAIN submenu if you are only using it to route calls based on the schedule you have
created. You can leave them, or delete them...it won't make any difference here. I
prefer to delete them to make everything cleaner.
That's it! Your MAIN submenu should now look like this:

Your trixbox will now answer calls and send them to the 'business_hours' submenu
during business hours, and send them to the 'after_hours' submenu after hours. This is
the most simple setup for a small office. The next chapters will discuss further
configuring trixbox Pro to take advantage of some of the bells and whistles included.

11.0 - On Hold Music


Next, we will set up our hold music. trixbox Pro allows you to create separate 'playlists'
for different functions. Let's say that perhaps you have a sales queue and a techincal
support queue. You could create a separate playlist for each, and intersperse either
sales messages ("Have you seen our new products?") or tech support messages ("You
will find answers to many common questions online at www.whatever.com.") You can
then assign these playlists to play on separate queues, or as your default hold music for
when you put callers on hold.
trixbox Pro comes with one song for music on hold, but it is definitely lame (unless
maybe you're a day spa), so I prefer to upload my own music. To do this, let's create a
completely new playlist. I'm going to call it 'SureTeq' because I want it to be the main
hold music anyone who calls in will hear.
Click on 'AutoAnswer --> music on hold.' In the 'Create a new Playlist' section, type
'SureTeq' in the 'Playlist name' field. I set volume to 'loud' (since I'm going to be
uploading classic rock), and then I change the 'Song order' to 'random' instead of
sequential since I don't want people hearing the same song every time they call in. If
you are interspersing company messages between the songs, you would probably want
to leave this on 'sequential.' Click 'Create Playlist.' Your new playlist should show up in
the list below, with a message saying there are no songs in that playlist.
*** NOTE: I first tried to create a playlist called 'default,' but for some reason, it
wouldn't let me. This is because there is already a 'default' MoH class set up in /etc/
asterisk/musiconhold.conf. By default, the 'default' playlist is set to the 'one' playlist...so
if you want to change your default music, upload songs to the 'one' playlist, or change /
etc/asterisk/musiconhold.conf so that it points to your newly created playlist.
Now it's time to upload some music. You can upload MP3's, but they have to be at
128kbps, and they have to be less than 20MB. Click the 'Browse...' button in the 'Add
New .mp3 Song' section. Browse for your desired MP3 and then make sure the Playlist
is set to your the new Playlist you just created. If the server is on your LAN, you can
also check the 'Local Server' box. This means that your song will be uploaded directly to
the server rather than uploaded to Fonality and then pushed to your server. Click
'Upload.' After the song uploads, you should get a message saying that your trixbox Pro
will reset as soon as there are no active calls, and you will see the song appear in your
newly created Playlist.
Rinse and repeat for as many songs as you would like to include.
Now, let's set our new playlist as the music on hold callers will hear when calling into
our main line. Click on 'AutoAnswer --> sub-menus.' Now click on the MAIN submenu.
We want to add a new sequence after step 1, so in the 'Add New Sequence' section,
change 'After step:' to 1, and then select 'Set Music-on-Hold Playlist' from the drop
down box. Click 'Apply All Changes.' Now, in the 'Call Sequence' section, change step 2's
drop down box to your newly created Playlist and click 'Apply All Changes.'
That's it!

12.0 - User Control Panel


trixbox Pro includes a great feature - the User Control Panel (UCP). The UCP gives each
user the power to control some powerful features of their own extensions. Features
include access to calls they have recorded, voicemail, call detail reports, and the FindMe
feature.
There are a couple ways to access the UCP. If you are a trixbox administrator, you can
go to 'Extensions --> view extensions' and then click the green 'LOGIN' button at the far
right of each extension. Alternatively, your users can access the UCP by opening up
http://cp.trixbox.com and logging in with the 'Web Username' and 'Web Password' you
set up when creating the extension. For my extension 100, I used username
'123456_100' (where 123456 is my trixbox server ID), and password 12345. Let's take
a look at some of the features of the UCP.
12.1 - UCP Home
When you first log in, you are taken to the UCP 'Home' page. From here, you can see
your voicemail messages, view the company directory, edit your company directory
information, and see your recent inbound and outbound calls.
The voicemail section is pretty self-explanatory, so let's skip to the 'Company Directory'
section. Click on 'View' and you should get a popup window displaying the company
directory in a nice format. I only have a few extensions, so mine isn't very impressive,
but you can see how nice this would be for users who want to print this out and put it
up on the wall of their cubicle for reference. I know at the last company I worked for, it
was someone's job to print this out weekly and pass it out to everyone...they would
have loved it if everyone had access to print it out themselves!
In the same section, you can also click on 'Edit' to change your own personal
information. 'Edit' pops up a window with a few options such as your mobile phone
number, email address and IM address. If an employee's information changes, they can
edit it here, and it will automatically update the company directory.
The recent inbound and outbound call sections are also pretty self-explanatory, but
there is one more item of note on the Home page, and that is the application links at
the bottom. Here, users can download HUD and FONCall.
HUD is a great piece of software that allows callers to see what's going on in the PBX
real-time. I'll get into HUD in a later chapter.
The other download available on the Home page is the FONCall plug-in for Firefox.
FONCall highlights any phone numbers that show up on any web page. Once you
associate FONCall with your extension's 'Web Username' and 'Web Password,' you can
mouseover the highlighted phone number and then click to call. trixbox Pro will dial
your extension, and then dial the highlighted number as soon as you pick up the phone.
Very cool...
12.2 - UCP Voicemail
The next UCP tab is Voicemail. This allows a user to check their new and saved
voicemails, and set all of the options that you configured for them when setting up their
extension. This way, they can set their own VM password, choose whether or not to
receive voicemail to email, what email address voicemails are delivered to, and whether
or not to delete the voicemails once they have been emailed.
The users can also upload their own greetings for unavailable (standard voicemail
greeting), busy (when on another call), vacation, and their name directory recording. I
feel that there should also be a 'Call Me!' button for these just like there is when
recording system recordings, but perhaps that will come in a later version.
12.3 - UCP Calls
The UCP Calls tab shows the extension's call history and call status. Once nice thing
about it is that you can click on a phone number and trixbox will call that person, so it's
a pretty robust call reporting and history feature. I like this a lot better than scrolling
through my phone's call history on the little display.
12.4 - UCP Features
The Features tab is where we start getting into the meat of the UCP. This is where a
user has control over their own extension and can configure it to 'locate' them when
they are away from their desk.
In the top box, the user has three choices for their extension. 'Do not forward my calls'
is pretty self-explanatory. When you change the radio button to 'Forward my calls to a
single number,' you can do exactly that. You select how long the phone should ring at
your desk before it forwards to a different phone number or extension. There is also a
check box for returning the call to your trixbox voicemail if you don't answer the
forwarded line (this only appears to work if you are using an internal extension).
If you want this forwarded to an eternal phone number, you must enter the number as
you would dial it from within the PBX, so for example, if you were calling a local
number, you would put in '95551212'.
The third selection is 'FindMe with Boomerang Mobile Integration.' This feature allows
you to set up a list of phone numbers to call in sequential order, and even allows you to
use a star key to accept or deny the forwarded call. For instance, let's say that my
extension is x100. If I'm away from my desk, I may be in another office where the
extension is x101...if that doesn't work, I want it to call my cell, then my home, and
finally, if I don't answer any of these, I want the caller to go to my trixbox voicemail box
for x100.
When you click on 'FindMe,' you are first asked when you would like to be found.
Perhaps you only want this feature working between 8am and 5pm. Or, you can choose
to have FindMe work on a schedule AND in conjunction with your HUD status (available,
away, offline). I'll stick to just the schedule for now since I haven't covered HUD yet.
Let's first set the schedule to Mon - Sat from 8am to 5pm. I am also going to leave the
box checked for when I'm actually talking on my extension...most likely, the person on
that extension is me, and I'm already on a call, so don't bother me.
The next section is 'How to FindMe.' There are some pretty good first steps already
listed, but I want to adjust them for my own personal settings. I set them to the
following:
#1 - To start finding me: - call my extension - for - 15 - secs
#2 - And then: - notify the caller I'm being located (plays a message for the caller
saying 'your party is being located' or something)
#3 - And then: - call other extension - x101 - for - 15 - secs
#4 - And then: - enable call screening (this will now ask the caller to say their name so
that I will hear who it is when I receive the call on my mobile)
#5 - And then: - call my mobile - for - 15 - secs - with press-to-accept (
#6 - And then: - forward to my voicemail
So, you can see that this is a pretty powerful way to use FindMe. AND as if that wasn't
enough, I can also set WHO can call me using the White List below. I have it set to
everyone, but perhaps I only want my boss, my direct employees, and my girlfriend to
be able to FindMe. You set that up in the whitelist.
Further, you can also set up special phone numbers or extensions that can ALWAYS find
me regardless of my FindMe schedule or HUD status. This is your VIP list...very cool.
(This only shows up if you are using FindMe on a schedule).
After I have set everything up, it looks like this:

12.5 - UCP ACD


The UCD also gives you the ability to view/add queues, create recordings, and view
reports if you have the appropriate permissions (see section 13.0 - Groups).
The view/add queue sections will be covered in section 14, so I'll skip that for now. The
'A.C.D. --> recording' tab is a great feature for call center supervisors and managers. It
allows you to select an agent from the drop-down box, select recording quality (low or
high), and then set the recording duration (between 1 and 50 calls recorded). Keep in
mind that WAV files can get pretty big, so you probably wouldn't want to set recordings
for 50 calls for 100 agents...you'll probably run out of disk space before you're finished
recording! But, it makes it really easy for a supervisor or manager to record a set of
calls for a particular agent, and then review them and coach the agent.
The 'A.C.D --> reports' tab gives the user the ability to run reports for a wide range of
call center statistics including queues, agents, and abandonment reports. We'll dig
deeper into reports in section 14.
12.6 - UCP Reporting
Finally, we have the 'Reporting' tab. This is a powerful reporting feature that allows you
to sort, filter and format your call detail reports in a variety of ways, and even export
them in CSV format for importing into other various applications (such as Microsoft
Excel). This tab is pretty easy to understand, so I won't go into it in detail, but by
looking at the main screen, you can see all of the available options for your reporting
needs.

13.0 - Groups
trixbox Pro includes group functionality so that you can not only create groups of
extensions for paging, intercom, and group voicemail, but you can also utilize these
groups to assign permissions to control features such as call queuing, ACD, HUD
settings, and much more.
All extensions by default are in the 'Basic Human Rights' group, which gives them
permissions for their own extension's Call forwarding / FindMe settings, setting the
amount of seconds their extension rings before moving on to voicemail or forwarding/
FindMe, the ability to disable voicemail, and the ability to change their voicemail's
emailing capabilities.
The Basic Human Rights group is great for general extensions, but I want to be able to
control EVERYTHING! It's just the way I am. So, to do this, I'm going to set up a new
group called 'Administrators.' I will then add all permissions to that group, and give that
group control over every other group.
In the 'Create New Group' section, I first type 'Administrators' in the 'Group Name' field,
and then give it an extension. I want to keep everything in 1xx, so I'm going to assign
this group to x150. I will leave the 'Auto-add New Users' checkbox UNchecked since I
don't want every new extension I put into the system to be in the Administrators group.
Also, now that I'm creating a new group extension x150, I can do a few cool things with
it using star keys:
Dial:

*74 150 - Group Intercom


*75 150 - Group Page
*86 150 - Group Voicemail
Now, I expand the 'Group Users' section. This allows me to choose which extensions
will be in my new group. I select my extension (x100) and click 'Add --->.' Easy enough.
Next, I want to assign permissions to this group. Since it is the 'Administrators' group, I
want anyone in this group to be able to do anything with the trixbox Pro. So basically, I
click on everything and click 'Add --->.' You can use SHIFT+click to select a range of
permissions, or CTRL+click to select individual permissions...you don't have to do them
one at a time.
The final section (Group Permissions) gives you the ability to assign permissions to your
newly created group to have control over other groups. It's a little confusing, but think
of it this way...if you have call center supervisors, and call center agents, you can create
groups for both sets of employees, and then grant the call center supervisors
permissions to control the call center agents, basically creating a top-down hierarchy of
user control.
For my Administrators group, I want full permissions over all other groups, so it's pretty
easy. Select all of the available permissions in the 'Available Permissions' box and click
'Add --->' to move them to 'Current Permissions.' Then, select all of the remaining
groups in the 'Available Groups' box and click 'Add --->' to move them to the 'Current
Groups' box.
Now click 'Create Group,' and your Administrators group has been created...you will see
that Administrators have all 24 available permissions.

14.0 - Call Queues


Now it's time to dig into the meat of the CCE version of trixbox Pro...call queues. If you
are unfamiliar with call queues, basically, a queue is a holding area where inbound
callers are placed on hold and are waiting for an available agent. If you have 3 agents
on phone calls, and 2 more calls come in, those calls are placed in the queue. Once an
agent finishes up a call, the caller who has been waiting the longest is forwarded to the
now available agent. You can assign agents (extensions) to one or more queues.
14.1 - Creating a Queue
Let's start by creating a queue for our Technical Support department. Click on 'A.C.D. --
> add queue' and you are presented with a TON of options.
Add Queue: step one
Queue Name: Tech_Support (you can not use spaces in a queue name...so I like to
use an underscore _. There is also a 15 character limit on the name.)
Queue Type: round robin w/ memory (there are many different options for how the
calls are distributed to the agents, but this one is the most popular in my experience.
The second most popular is 'ring all' where a group of phones are rung, and the first
agent to pick up gets the call. Keep in mind that 'ring all' can put extraneous load on
your system if you have a lot of agents in the queue).
Max. Holders: unlimited holders (this setting is good if you want to limit the people
you have on hold to keep up better service. For instance, if you have it set to 10 callers,
the 11th caller will move on to the next step in the call menu you have set up for this
queue (we'll get to setting up the call menu in a bit)...so, for instance the next step may
be a voicemail box that prompts the caller to leave their name and phone number, and
someone will get back to them in a month or two).
Retry Seconds: 60 seconds (this is a timeout period the system uses if it has tried to
ring all available agents, and no one picked up. For instance, if you have 3 agents in the
queue, and they all went to the bathroom at the same time, the system will try to ring
each person and then wait 60 seconds before trying to ring each person again).
Wrap-up Time: 0 seconds (this specifies the amount of time after an agent hangs up
a call before they can receive another queue call. This is good if you need your agents
to have some time to put notes into the caller's account before another call comes
through).
Add Queue: step two
Announce Hold Time: yes (this tells the callers their approximate wait time. If set to
'yes' it announces approximate wait time every X seconds based on the 'Announce
Frequency.' If set to 0 seconds, it will never announce wait time, and if set to 'once,' it
will announce it when they are first put on hold, but will not repeat.
Announce Frequency: 120 seconds (this is the number of seconds to announce to
the caller their position in line and approximate hold time. 60 seconds is the default, but
I find that to be annoying to callers, so I usually set it to 120 seconds).
Keypress Submenu: - none - (this can be helpful if you want to have an
announcement telling callers something like 'if you would like to leave a message and
have an agent call you back, press 9' or similar)
Exit Queue Early: no (if set to 'yes,' this tells the system to bring an agent out of the
queue and onto the next step in the submenu after the timeout period, regardless of
whether or not all agents in the queue have been rung)
Add Queue: announcement prompts
Audio Intro...: This is the announcement that is played for callers upon first entering
the queue. In my case, since the caller pressed a button to get to 'Tech Support' in the
first place (from my main submenu), I don't need an announcement here, but it could
be helpful for a message such as 'many answers to common tech support questions can
be found online at www.whatever.com.'
You are first...: default (tells the caller when they are the first person in line)
Caller number...: default (tells the caller what caller number they are - 1st half)
Waiting to speak...: default (2nd half of 'Caller number...'. When put together, it
should say 'You are currently caller number (X) waiting to speak to an agent.')
Est. Hold Time...: default (part 1 of 4 for telling callers their estimated hold time)
Less than...: default (part 2 of 4 for telling callers their estimated hold time)
Minutes...: default (part 3 of 4 for telling callers their estimated hold time)
Thank you...: default (part 4 of 4 for telling callers their estimated hold time. When
put together, it should say 'Your estimated hold time is less than (X) minutes. Thank
you for your patience...)
All of these recordings can be custom recorded, but for me, the default voice is fine, so
I leave them alone.
Add Queue: agents
In this section, you can select agents from the left hand window and add them to this
queue. I am going to select both of my extensions (x100 and x101) and add them by
clicking 'Add Agent.' Some options pop up per agent:

Perm.: unchecked (Specifies that an extension is ALWAYS going to ring when a queue
call comes in...the agent does not have to log in and out).
Ring: 15 (number of seconds to ring an extension before moving on to the next agent)
Priority: normal (You can set this to different levels from highest to lowest. This is
useful if, for instance, you have 10 agents answering 2 queues...5 agents can be
highest priority on queue #1 and lowest on queue #2, and the other 5 agents are vice
versa. This way, you can have primary and overflow agents for each queue).
Now, click 'Add Queue' to finish. You are taken to the 'A.C.D. --> view queues' screen
where you can see how many callers are in the queue, the current hold time, the
number of completed and abandoned calls, and the agents in the queue and their
status. You are also given a drop-down box to clear the stats per queue.
14.2 - Add Queue to a Submenu
Now it's time to make our newly created Tech_Support queue an option in our
'business_hours' submenu. Click on 'AutoAnswer --> sub-menus' and then type
'tech_support' in the 'Add New Submenu' section and click 'Create New Submenu.'
'Tech_Support' should appear in the bottom screen...click on it to edit it. By default, it
sets the caller ID to 'Tech support' which is fine because now my agents know which
queue the call is coming from...this is helpful if you have multiple queues. There are no
keypresses, which is fine because I set 'Keypress submenu' to 'none' when I set up the
queue. Let's create a new sequence after step 1, and choose 'Go to Queue' from the
drop down box. Click 'Apply All Changes.'
An option #2 shows up in the Call Sequence with a few options:

Go to Q: Tech_Support (pick which queue to send callers to)


for: unlimited (timeout period)
w/: music (music or ringing...if they're on hold for a while, ringing is super annoying, so
it's best to leave this on music. If you want to set a special hold music playlist for this
queue, you can do so by adding 'Set Music-on-hold Playlist' prior to step 2).
Click 'Apply All Changes' to save this submenu. Now, let's add it as an option off of the
'business_hours' submenu we created earlier. Remember, that in section 10.1, we
created a system recording that says 'press 4 for tech support.' Open up the
'business_hours' submenu and add a new keypress (4) Go to: Tech_support. Click
'Apply All Changes' and you're done! Now, when a caller presses 4 from the
'business_hours' submenu, they are dropped into the 'tech_support' queue.
This is a very simple example of a queue...there are many more options and features
available for creating call queues, but they are beyond the scope of this document. If
you are interested in consulting for designing and implementing ACD call flows, SureTeq
provides this service, so feel free to contact us!
14.3 - Create Queue Extension
In order to create a queue extension that callers can be transferred to, you need to
create a virtual extension and associate it with the queue's submenu. This is helpful for
receptionists or other employees to send callers to the queue from within the company.
Click on 'Extensions --> add extension' and select a queue extension. Use all default
settings except for:
Extension number: 190 (can be whatever extension you desire, but be careful to stick
with your dial plan so that you don't create delays in your ACD menus)
Description: Tech Support Queue (can be whatever)
First / Last Name: Tech Support / Queue
Web Username: 123456_190 (where 123456 is my trixbox server ID)
Web Password: 12345 (can be whatever)
Phones / Devices: Virtual Extension
Call Forwarding: Tech_support (the tech_support submenu I created in section 14.2)
Voicemail Enabled: No (you will get a warning that it will not be included in the
company directory)
Click 'Add extension.' You can now forward calls to this extension number, and they will
be placed in the queue.
14.4 - ACD Reports
'A.C.D. --> acd reports' gives you the ability to to run reports for a wide range of call
center statistics including queues, agents, and abandonment reports. You can select
your desired queue from the left hand window, and then select your desired report from
the drop down box.
14.5 - ACD Recording
The 'A.C.D. --> recording' tab is a great feature for call centers. It allows you to select
an agent from the drop-down box, select recording quality (low or high), and then set
the recording duration (between 1 and 50 calls recorded). Keep in mind that WAV files
can get pretty big, so you probably wouldn't want to set recordings for 50 calls for 100
agents...you'll probably run out of disk space before you're finished recording! But, it
makes it really easy for a supervisor or manager to record a set of calls for a particular
agent, and then review them and coach the agent.
14.6 - Agent Commands
Here is a reference of agent commands for logging in and out of queues:
*1 - Log this extension into all queues associated with it
*50 - Log in with a specific agent number and have the queue respect call forwarding
*54 - Log in with a specific agent number and listen for instructions
*3 - Log this extension out of all queues associated with it
*56 - Log out a specific agent number

15.0 - HUD
HUD is a tool for visually monitoring and controlling what your extensions are doing.
The HUD product is put out by Fonality, the owners of the trixbox project, and they
have come a long way in integrating and improving HUD so that it becomes not only a
productive tool for communication, but a great selling point for resellers.
15.1 - HUD Installation and Configuration
HUD comes installed with all trixbox Pro versions, however you get HUD Lite with the
SE version, and full HUD with the EE and CCE versions. When you log into the UCP,
there is a HUD download link for either Mac's or PC's, and it will automatically give you
the appropriate version for the type of trixbox you are running. Click on Mac or PC to
download. Once it is downloaded, double-click on the downloaded file to get started.
Choose your installation options (most people can take defaults, but I don't like to have
it on my desktop or in my quick-launch bar...especially since it auto-starts). The
installation is pretty quick, and we can move onto setup.
When HUD is first run, it gives you a license agreement, and then checks online for
your server's enabled modules. After that, it gives you the option to install the Outlook
and Tapi add-ons...these are recommended for full functionality. HUD will also prompt
you for connection information in the wizard, but I prefer to set it up once HUD has
been installed. To get to settings, choose 'File --> Settings' from within HUD. You will
want to use these settings for connectivity:
Username: 123456_101 (this is the Web Username you specified when creating the
extension)
Password: 12345 (this is the Web Password you specified when creating the extension)

Advanced Settings
Server Name: s123456.trixbox.fonality.com (where 123456 is your trixbox server ID, for
a remote HUD connection, you will want to use s123456x.trixbox.fonality.com to resolve
your trixbox's external IP address).
Server Password: (this was sent to you in the 'Welcome to trixbox Pro' email...it is in the
HUD section at the bottom).
Server Port: 6600 (this will also need to be open to the Internet if you are connecting
remotely).

Leave the rest of the settings default.

When the wizard finishes, HUD should now connect to your Trixbox, mark your
extension as 'Available,' and show you a list of extensions you have set up.
You can view or hide additional windows such as call parking and chat by using the
'View' drop down menu and selecting or deselecting the different options.
HUD tells you a few things when calls are in progress with colors:
Green - extension is on an outside call
Purple - extension is on an intra-office call
Orange - extension is on a queue call
Gray - extension is unavailable
You can drag and drop your extension (upper-left corner extension 101) to another
extension to call that extension (will dial your phone first and then call the 2nd
extension once you have picked up).
You can also drag and drop your call to the 'on hold' section in the upper left to put a
call on hold. You can also drag and drop a call into the envelope icon of another
extension to send that call directly to the voicemail of that extension.
HUD also allows you to Barge/Monitor a call in progress by clicking the 'B' next to a call
that is in progress. This will ring your extension and when you pick it up, you will hear
the conversation that is going on between the two other extensions, or to the outside
world. You can set permissions for which extensions can Barge/Monitor which other
extensions in the 'Groups' page discussed in section 13.0 of this document.
15.2 - Web Launcher
The Web Launcher in HUD (not included with HUD Lite), is a great tool for integrating
HUD with sales/CRM applications such as SugarCRM or Salesforce.com. It even works
with Google if you want! Basically, when a call comes in, you get a little WWW button
on the HUD pop-up. If you click it while on a call, it will launch your desired URL and
automatically input the dynamic variables you have set up such as caller number or
caller name. You can also use some of the other variables to automatically put these
details into a mysql database or any custom application you can think of that can be
launched with an HTTP POST. Here are some examples:
Launch a Google search based on caller ID: http://google.com/search?q=%
%caller_number%%
Launch a Google search based on caller name: http://google.com/search?q=%
%caller_name%%
Other variables:
%%my_extension%% - Your extension.
%%duration%% - call duration in seconds
%%type%% - "inbound," "outbound," or "queue" call
You can set the Web Launcher to launch automatically for inbound or outbound calls, or
it can be run manually by hitting the WWW button on the call pop-up.
Larger scale CRM integration or screen-pops using the Web Launcher is outside the
scope of this document, but SureTeq provides this service! Please feel free to contact
us.

16.0 - Extra Features


There are some extra features included in trixbox Pro that are worth mentioning, but I
won't go into them in too much detail.
16.1 - Status --> resources
The Status --> resources page is great for monitoring server activity. There are three
different sections.
Server Resources is for monitoring the physical health of your server including CPU,
(standard, HUD, and trixbox), memory, and hard drive activity.
Server Activity is for monitoring what is going on in trixbox/Asterisk including trunks,
channels, conferences and recordings in use.
Finally, there is network activity...pretty self explanatory.
16.2 - Status --> alerts
The Status --> alerts page is great for resellers and techs who want to be notified if
anything goes beyond set thresholds in your server. You can put in your email address
and be notified if your CPU usage gets too high, your hard drives get too full, your NIC
load goes too high, you start using too many trunks, etc. Take a look at the page, and
you'll see all of these options...they are very cool.
16.3 - Options --> echo
This page is for troubleshooting echo problems. I've said it before, and I'll say it again
though...BUY CARDS WITH HARDWARE ECHO CANCELLATION, and your life will be
much easier. BUT...if you don't have hardware echo cancellation, you can use the echo
page to turn software echo cancellation off and on, and change echo settings...it is a
pretty nice interface for the echo troubleshooting settings, but I'm not going to explain
them here. I did, however, blog about echo, and if you are interested in echo
troubleshooting, see my blog post on the wonders of echo cancellation troubleshooting.
16.4 - Conferences
trixbox Pro EE and CCE come with conference bridges in the form of submenus. To
access these conference bridges, you can either point to them as a keypress from
another submenu, or set up a virtual extension that points to the conference bridge
submenu. I may go into these in more detail later, but right now, I'm pretty sick of
writing this document, so I'm going to end it here.

A note from the author:


Hey everyone!
If you have found this document useful and plan on purchasing some VoIP equipment, I
would greatly appreciate if you use the banner link for Voipsupply.com below. I have
purchased equipment from Voipsupply.com many times, and I have always found their
pricing to be great and their shipping fast, so I definitely recommend them. By using
the link below, you won't be raising YOUR purchase price at all...you would simply be
donating a small percentage of your purchase to me, and I would definitely appreciate
it!
Thanks,
-Chris Sherwood
My Voipsupply.com banner link:

You might also like