Trixbox CE v2.4

Complete setup guide for a small business

Document v1.1 - Last updated 02/06/2009 by Chris Sherwood, SureTeq, Inc.

 

Trixbox v2.4 is an all-inclusive Asterisk PBX solution that comes on a bootable CD.  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 v2.4 for a small business.  It includes information on how to set up extensions, incoming and outgoing phone calls, and other useful applications.

 

SureTeq is now an FtOCC 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 click here or 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.  Click here for the SureTeq blog!

 

Not your version?  Click here to see the index of all SureTeq documentation! - Previous versions and other product documentation.
 

 

trixbox CE Solutions

 


 

Table of contents

 

1.0 - Hardware platform used in the creation of this document

2.0 - Download and install Trixbox v2.4

3.0 - Seting up your server

    3.1 - Network configuration

    3.2 - Install Webmin

4.0 - Zaptel driver

5.0 - General Trixbox setup and security

6.0 - Module install

7.0 - Dial plan

8.0 - Configure internal extensions

    8.1 - Zaptel channels

    8.2 - Soft phone extensions

    8.3 - Endpoint Manager / GrandStream GXP-2000
     8.4 - Voicemail options

    8.5 - Polycom Central Server configuration

    8.6 - A note on hardware phones

9.0 - Outbound routes

    9.1 - Outbound route with default Zap trunk

    9.2 - VoIP Provider Setup

    9.3 - VoicePulse

    9.4 - VoIP Street

10.0 - Incoming calls/IVR setup

    10.1 - System recordings

    10.2 - IVR

    10.3 - Time conditions

    10.4 - Inbound route

11.0 - On hold music

12.0 - Forwarding calls to a cell phone / IAX2 setup

13.0 - Simple Queue setup

    13.1 Forward to cell phones queue

14.0 - Panel configuration

15.0 - Hud-lite configuration

16.0 - Tools

    16.1 - Call Back

    16.2 - DISA

    16.3 - Trixbox to Trixbox IAX2 trunk
    16.4 - Parking Lot

    16.5 - Octasic SoftEcho

17.0 - Backups

    17.1 - Backing up Trixbox

    17.2 - Automating backup to FTP
 

 

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 Developer’s kit (TDM 400P with 1 FXO and 1 FXS module)

Vonage line connected to one of the FXO modules

 

Figure 1.1

 


 

A note from the author:

 

Hey everyone!

 

If you have found this document useful, or have realized the hours upon hours of learning curve this document has saved you, please feel free to donate using the PayPal button below...donations are always appreciated!

OR...if you have enjoyed this document 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:

 

 


2.0 - Download and install Trixbox v2.4

 

Download the Trixbox v2.4 ISO file from SourceForge:

 

http://sourceforge.net/project/showfiles.php?group_id=123387&package_id=192286

 

The latest version as of the writing of this document is v2.4.2.0. 

 

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

 

*** NOTE:  Trixbox does not seem to work if you choose the i586 option...instead, just hit Enter and take the default mode.

 

Choose a language and hit OK

 

For keyboard type, take default (US)

 

Select appropriate time zone and hit OK

 

Type in your root password twice and hit OK

 

System will now format the hard drive and install Trixbox v2.4

 

When the install finishes, the CD tray will open.  Remove the CD (or else it will start over).  System will reboot 2-3 times, and then you will end up at the login prompt. 

 

*** NOTE:  If the system does reboot with the CD still in, you can simply remove the CD and press CTRL+ALT+DEL at the Trixbox splash screen...it will continue normally upon the next reboot.

 

*** NOTE:  Sometimes the setup seems to freeze on 'munin-install' or 'munin-node-(version number).'  It is NOT actually frozen, so do not reboot or else the Trixbox install has not completed.  Go grab a cup of coffee because sometimes it takes 10-15 minutes for this part to complete successfully.

 

Once the install has finished, log in as root with the root password you entered above.

 


 


3.0 - Setting up your server

 

3.1 - Network configuration

GUI config: 

Trixbox v2.4 has a GUI tool for configuring your network settings.  (Manual network config is below).  Open up a browser and point it to your Trixbox IP (you should see the DHCP'd IP address when you log in as root or by running 'ifconfig' in the Linux CLI. 

Once you have the Trixbox GUI open, switch into Admin mode by clicking 'User mode [ switch ].'  Use logon 'maint / password'  (we will change this default password soon).  Then click on 'System' --> 'Network.'

*** NOTE:  If you receive the registration screen, you can choose to register your Trixbox.  Registering your Trixbox gives you a 5% discount at the Trixbox store.  You can always visit the registration later by choosing Settings --> Registration from the main page.

 

 

Click on 'Ethernet 0' (or your desired network card) to change the IP address settings.  Click 'Apply changes' to save your changes.  If you changed your IP address, you will have to re-open your browser with the new IP address settings.

To change other settings such as host name, DNS servers, or gateway, click on 'Edit Network Parameters' and make your desired changes.  Click 'Save' when finished.

Manual network config (Optional): 

 

You can connect to Trixbox using an SSH client such as Putty (free) or SecureCRT (my preferred SSH/telnet client).  Putty can be downloaded for free from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

 

Set up IP address information by typing netconfig in the Linux CLI.

 

Select Yes when prompted about setting up networking.

 

Select to use DHCP if you want (not recommended) otherwise, enter in IP information for your Trixbox box.

 

I will use the following information for my home setup:

 

IP:  192.168.200.16

Netmask:  255.255.255.0

Gateway:  192.168.200.254

Primary nameserver:  4.2.2.2 (This is one of AT&T's public name servers.  If you have your own DNS server, enter it in this field).

 

Click OK and restart the network with ‘service network restart.’

 

Secondary nameserver – if you would like to add a secondary nameserver for backup DNS purposes, nano /etc/resolv.conf and add a line ‘nameserver (ip address)’ underneath the primary nameserver information.  My resolv.conf now looks like this:

 

nameserver 4.2.2.2

nameserver 4.2.2.1

 

To exit nano, hit 'CTRL+X' and then 'Y' when asked if you want to save.

 

3.2 - Install Webmin

 

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 it's 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 command in your Linux CLI:

 

yum -y install webmin

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.200.16:10000 (obviously, replace my IP with your Trixbox IP, and note that this is HTTPS...not HTTP).

***NOTE:  Webmin can also be installed using Trixbox's built-in package manager discussed later in this document.
 

 

4.0 - Zaptel Driver

 

Setting up your Zaptel driver has typically been a problem with Trixbox v1.1 and earlier, however now, the setup is done automatically during installation if you have a Digium analog port card.  If you have a PRI card (or cards), you will have to set this up manually...I do not include documentation on how to do so in this document, however you can see sample setups by going to www.voip-info.org and searching for 'zaptel.conf' and 'zapata.conf.'

 

From command line do ‘ztcfg –vv’ – if there are no errors, you should get an output that says:

 

Zaptel Configuration

======================

 

 

Channel map:

 

Channel 01: FXO Kewlstart (Default) (Slaves: 01)

Channel 04: FXS Kewlstart (Default) (Slaves: 04)

 

2 channels configured.

 

Or similar based on your Zaptel hardware configuration.  The above output is from Digium's standard developer's kit TDM400.

 

*** NOTE:  If there are no channels showing up when doing 'ztcfg -vv', try running 'genzaptelconf' at the Linux CLI to see if it will detect your card.

 

*** NOTE:  If you are still having Zaptel driver issues, please follow the steps in my v1.1 Setup Guide, Chapter 4:  trixboxv1.1.htm

 

 


trixbox CE Solutions

 


 

5.0 - General Trixbox Setup/Security

 

Now it is time to configure Asterisk/Trixbox.

 

Change default passwords:

 

Before we do anything, let's change our passwords.  We need to do this at the Linux CLI.

 

Update maint password by typingpasswd-maintat the command line.  Enter the password twice.

 

Update AMP password by typing 'passwd-amp' at the command line.  Enter the password twice.

 

Update meetme password by typing 'passwd-meetme' at the command line.  Enter the password twice.

 

FreePBX admin pass:

 

To change the FreePBX manager pass, you need to edit two separate files and put in the new password.

 

nano /etc/asterisk/manager.conf

 

Find 'secret = amp11' under the [admin] section.  Change 'amp11' to your new desired password.  CTRL+X followed by 'Y' to save and exit.

 

Now, we need to edit the /etc/amportal.conf to use our new password.

 

nano /etc/amportal.conf

 

Find the line that says 'AMPMGRPASS=amp11' and change the 'amp11' to the new password you just set.  CTRL+X followed by 'Y' to save and exit.

 

amportal restart

 

*** NOTE:  I have found out the hard way that FreePBX does not like having an exclamation point (!) in the admin password.  There may be other special characters that it doesn't like also. 

 

MySQL passwords:

 

Update the MySQL asteriskuser password by doing the following at the Linux CLI:

 

mysqladmin -u asteriskuser -p password new_password_here

 

Replacing 'new_password_here' with your desired password.  When you hit 'Enter' you'll be prompted for a password...enter in the default password of 'amp109.'

 

Now, we need to edit the /etc/amportal.conf to use our new password.

 

nano /etc/amportal.conf

 

Find the line that says 'AMPDBPASS=amp109' and change the 'amp109' to the new password you just set.  CTRL+X followed by 'Y' to save and exit.

 

***NOTE:  NEW and improved confusion for v2.4!  In the amportal.conf, there are now TWO places to change the amp109 password...near the top of the file, and at the very end.  The one at the top is commented out, so changing that one doesn't really do anything...but to be consistent, make sure you change the password in both places. 

 

You will also need to update the password in the /etc/asterisk/cdr_mysql.conf file for call detail records (cdr) and in /etc/asterisk/res_mysql (who knows why).

 

nano /etc/asterisk/cdr_mysql.conf

 

Find the line that says 'password=amp109' and change the 'amp109' to the new password you just set.  CTRL+X followed by 'Y' to save and exit.

 

nano /etc/asterisk/res_mysql.conf

 

Find the line that says 'dbpass=amp109' and change the 'amp109' to the new password you just set.  CTRL+X followed by 'Y' to save and exit.

 

service mysqld restart
amportal restart

 

*** NOTE:  I have found out the hard way that FreePBX/MySQL does not like having an exclamation point (!) in the password.  There may be other special characters that it doesn't like also. 

 

It is also a good idea to change the default mysql root user password.  To change the default mysql root password, do the following:

mysqladmin -u root -p password new_password_here

 

Replacing 'new_password_here' with your desired password.  When you hit 'Enter' you'll be prompted for a password...enter in the default mysql root user password of 'passw0rd' (with a zero)

 

service mysqld restart 

 

Update packages:

 

Update all Cent-OS packages by typing 'yum -y update' at the command line.

 

 


6.0 - Module Install

 

The first thing we want to do is put Trixbox into Admin Mode.  When you open up the main page in your browser, you will see 'User Mode [ switch ]' in the upper right-hand corner.  Click on 'switch,' enter in your username and password (maint / maint password) and it will place you into Admin Mode. 

 

You can then log into the Trixbox site by using your Trixbox.org username and password and clicking 'login' (note: both username and password are case sensitive here).

 

Now to get into Asterisk and install some modules.  Modules are different software packages used by Asterisk for different applications.  For instance, if you want voice mail, you would install the Voicemail module.  This allows you to pick and choose your Asterisk features.

 

Click on System Admin and log in as 'maint.'  Then click on Asterisk --> FreePBX. 

 

The first thing to do related to modules is to enter in your email address so that FreePBX can notify you of updates.  Click on 'General Settings' in the left hand menu and scroll down to the bottom.  Put your email address into the 'Update Email' field and click 'Submit Changes.'  That nagging message on the FreePBX home page now goes away.

 

Now, click on ‘Module Admin’ in the left hand menu.

 

Lets start with some basic modules (you can add and remove modules at any time).  FreePBX starts you off with some of the basic modules...Core, Feature Codes, Voicemail, etc.  Click on 'Check for updates online' to see the full list of available modules.

 

Figure 6.1 

To install modules in FreePBX v2.3.1.0 (the Trixbox v2.4 default version of FreePBX as of the writing of this document), you click on the name of the module you want and then change the radio button from 'No Action' to 'Install.'

 

Let's do this for the following modules to start (you can always add/remove modules later):

 

Feature Code Admin (included by default)

Voicemail (included by default)

IVR

Queues

Time Conditions

Conferences

Music on Hold (included by default)

Recordings (included by default)

Call Forward

Call Waiting

Backup & Restore

 

*** NOTE:  There may already be updates to some of the default modules...now would be the time to expand them and set the radio button to 'Download and Upgrade to (version number). 

 

Click 'Process' at the bottom of the list of modules once you have selected all of the modules above.  On the confirmation page, click 'Confirm.'  You should get a popup window that shows progress and tells you that all modules were installed successfully.  When it is done, scroll down to the bottom of the popup window and click 'Return.'

 

See the orange bar that just appeared at the top of the page that says 'Apply Configuration Changes?'  Click on the orange bar anytime you make changes.  Then click 'Continue with reload' on the window that pops up.  This reloads the Asterisk configuration and the orange bar goes away.

 

You can now click on ‘Setup’ in the upper menu selection to get to the modules you have just activated.

Upgrading modules - To update your current modules, or to install additional modules only available online, click on 'Module Admin' and then click 'Check for updates online.'  This will provide you with all available packages and updates.  For any modules that say 'Online upgrade available (version)' expand that module and select 'Download and Upgrade to (version).'  When you have selected all available upgradable packages, click 'Process' at the bottom followed by 'Confirm' on the next screen.  Once everything has been downloaded and upgraded, click the orange bar.

***NOTE:  I have found in the past that the 'Backup and Restore' module does not like to be upgraded with other packages.  If it fails, go back into the Module Admin and upgrade it individually.  Not sure if this is still true in Trixbox v2.4, but I will try to find out.

 


7.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 inbound Vonage line, 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 (Thanks.wav).  Greeting states that:

            2 gets me (forwards to my cell phone)

            3 gets my business partner (forwards to his cell phone)

            4 to reach first available representative (round robin between our two cell phones)

 

7:00pm – 8:00am – Go to closed greeting (Closed.wav).  Greeting states that our office is closed, and to please call back between 8am and 7pm PST. 

 

Outbound:

 

All calls should be routed out the FXO port of my Digium TDM400 (my Vonage line).  – I may change this later to include my IAX line if the Vonage line is busy, but let’s keep it simple for now.

 

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.
 


8.0 - Configure Internal Extensions

 

8.1 - Zaptel extensions

 

I will start by setting up my extensions.  In FreePBX, click on ‘Setup’ and then ‘Extensions.’

 

We’ll start with my cordless phone (extension 111 – connected to my Digium TDM400).

 

Select 'Generic ZAP device' from the drop-down box and click 'Submit.'

 

I used these settings:

 

User Extension:  111

Display name:  Cordless
CID Num Alias: <blank>
SIP Alias: <blank>

 

Direct DID:  <blank>

DID Alert Info:  <blank>
Music on Hold: default

Outbound CID:  <blank>
Ring Time:  default
Call Waiting:  Enable

Emergency CID:  <blank>

 

Channel:  1 (the FXS port of my Zaptel card)

 

Fax Extension:  freePBX default

Fax Email: <blank>

Fax Detection Type:  None

Pause after answer:  0

 

Privacy Manager:  No 

 

Record Incoming:  On Demand

Record Outgoing:  On Demand

 

Voicemail & Directory:  Enabled

Voicemail password:  111 (same as extension number…keeping it simple)

Email address: (my email address)

Pager email address:  <blank>

Email attachment:  Yes (since I like getting the messages in my email)

Play CID:  No

Play Envelope:  No

Delete Vmail:  Yes  (this way, the voice mails are delivered to my email inbox only…if set to no, once I delete the emails, I also have to go into the voicemail and delete the voicemail manually)

Vm options:  <blank>

Vm context:  default
VmX Locater:  Disabled

 

Hit ‘Submit’

Click the orange bar to apply the options.

 

I now get a dial tone on my cordless phone.

 

8.2 - Soft phone extension

 

Next, we’ll set up a soft phone so that I can dial between internal extensions.

 

I use the X-Lite soft phone which can be downloaded from http://www.counterpath.com/13#Download.

 

In FreePBX, click on ‘Setup’ and then ‘Extensions.’

 

Select 'Generic SIP device' from the drop-down box and click 'Submit.'

 

I used these settings:

 

User Extension:  102

Display name:  Soft phone

CID Num Alias: <blank>
SIP Alias: <blank>

 

Direct DID:  <blank>

DID Alert Info:  <blank>
Music on Hold: default

Outbound CID:  <blank>
Ring Time:  default
Call Waiting:  Enable

Emergency CID:  <blank>

 

Secret:  12345 (can be whatever you want)

Dtmfmode:  rfc2833

 

Fax Extension:  freePBX default

Fax Email: <blank>

Fax Detection Type:  None

Pause after answer:  0

 

Privacy Manager:  No

 

Record Incoming:  On Demand

Record Outgoing:  On Demand

 

Voicemail & Directory:  Enabled

Voicemail password:  102

Email address: (my email address)

Pager email address:  <blank>

Email attachment:  Yes (since I like getting the messages in my email)

Play CID:  No

Play Envelope:  No

Delete Vmail:  Yes  (this way, the voice mails are delivered to my email inbox only…if set to no, once I delete the emails, I also have to go into the voicemail and delete the voicemail manually)

Vm options:  <blank>

Vm context:  default

 

Hit ‘Submit’

Click the orange bar to apply the options.

 

Now to configure the X-Lite soft phone.

 

 

Upon first installing, the SIP configuration pops up automatically, otherwise, you can click on the down arrow at the top of the phone and choose ‘SIP Account Settings.’

 

Click ‘Add.’

 

Display Name:  Soft Phone

User Name:  102

Password:  12345 (my ‘secret’ from above)

Authorization user name:  102

Domain:  192.168.200.16 (your Trixbox IP address)

 

Domain Proxy

Register with domain and receive incoming calls (checked)

Target domain selected

 

Click OK.

 

Click Close on the SIP Accounts window.  Your soft phone should now register with your Trixbox.

 

I now try dialing my cordless phone x111 and it works!  From the cordless, I dial my Soft Phone x102 and it works as well.

 

8.3 - Endpoint Manager / GrandStream GXP2000

 

Trixbox v2.4 has an endpoint manager which is really slick. 

 

I have a GrandStream GXP-2000 SIP phone on my desk and plugged into the network.  It DHCP'd to IP 192.168.200.101 (I see that on the phone's display).  First, I connect to the phone's web server at http://192.168.200.101 (the default password is 'admin') and click on 'Advanced Settings.'  Under the 'Firmware Upgrade and Provisioning:' section, change HTTP to TFTP and then change 'Firmware Server Path' and 'Config Server Path' to the IP address of your Trixbox.  In my case, I change it to 192.168.200.16.

 

Click 'Update' and then click 'Reboot.'

 

I now need to create an extension for my GXP-2000.  In FreePBX, click on ‘Setup’ and then ‘Extensions.’

 

Select 'Generic SIP device' from the drop-down box and click 'Submit.'

 

I used these settings:

 

Extension number:  101

Display name:  GXP-2000

CID Num Alias: <blank>
SIP Alias: <blank>

 

Direct DID:  <blank>

DID Alert Info:  <blank>
Music on Hold: default

Outbound CID:  <blank>
Ring Time:  default
Call Waiting:  Enable

Emergency CID:  <blank>

 

Secret:  12345 (can be whatever you want)

Dtmfmode:  rfc2833

 

Privacy Manager:  No

 

Record Incoming:  On Demand

Record Outgoing:  On Demand

 

Voicemail & Directory:  Enabled

Voicemail password:  101

Email address: (my email address)

Pager email address:  <blank>

Email attachment:  Yes (since I like getting the messages in my email)

Play CID:  No

Play Envelope:  No

Delete Vmail:  Yes  (this way, the voice mails are delivered to my email inbox only…if set to no, once I delete the emails, I also have to go into the voicemail and delete the voicemail manually)

Vm options:  <blank>

Vm context:  default

 

Hit ‘Submit’

Click the orange bar to apply the options.

 

Now let's set up the Endpoint Manager.  Click 'Asterisk --> Endpoint Manager' in the Trixbox GUI.

Notice the notes at bottom of the page?  Since we are setting up a Grandstream GXP-2000 phone, you need to run the Grandstream Setup Tool in the Linux CLI first.  Open up your SSH client and run:

setup-grandstream 

You are first prompted to select which NIC you would like to use.  I choose 'eth0' for my primary NIC. 

Figure 8.3.1 

The setup tool now configures all you need for running Grandstream phones on your network.  If you have other types of phones (Aastra, Cisco (booo), Polycom, etc.), run the appropriate setup tool.

Back in the Endpoint Manager, you should see your network already filled into the 'Map Devices' section.  Click 'Go.'  It should come up with a list of your phones.  Click on the desired phone's MAC address and you are taken to the configuration screen:

 

 

For 'FreePBX Device ID:' select the extension you created above and then click 'Submit.'

 

***NOTE: If you get an error stating that it could not create the config file, you need to run 'setup-grandstream' from the Linux CLI.   This will download and install the latest Grandstream config files and firmware.

 

Now, reboot your Grandstream phone, and it should get the latest updates from your Trixbox's TFTP server.

 

I select the GrandStream SIP extension I created above (101) and hit 'Submit.'  My GrandStream phone is now configured (after a few auto-reboots).

 

For the GrandStream GXP-2000's however, there is one more bit of picky configuration that is optional.  Once configured by the endpoint manager, I realized that there were a couple of annoying problems.  First, the LCD backlight was always on, and did not turn off after a minute or so.  Second, the time was not set correctly and appeared to be set to Eastern time (whereas I am on the West Coast).  To fix this, I had to edit the GrandStream default settings file that resides on the TFTP server of my v2.4 Trixbox. 

 

cd /tftpboot

nano Grandstream_GXP2000_Default.txt

 

Towards the bottom, there is a section called 'End User Time Settings.'  I changed the following:

 

# Time Zone. Offset in minutes to GMT
P64 = 240
 

(Not sure exactly how this works, even though my time zone is PST (or -8 GMT), 240 minutes set here made it accurate).

 

# Daylight Savings Time. 0 - no, 1 - yes
P75 = 1

 

(For the new DST rules) 

# Optional rule. Daylight Saving rule.

P246 = 3,2,7,2,0;11,1,7,2,0;60
 

# LCD Backlight Always On. 0 - no, 1 - yes
P322 = 0
 

# Display Clock instead of Date. 0 - no, 1 - yes
P123 = 1
 

(That last one was simply personal preference...it displays the time large and the date small instead of vice versa).

 

Once changes have been made, go back into the Endpoint Manager, click on 'Grandstream' followed by your Grandstream phone's MAC address and click 'Submit' at the bottom to re-generate the phone's config using the new default settings.  Finally...reboot your phone one more time.

8.4 - Voicemail options

One thing that I have found with the default voicemail configuration is that the sound files delivered to my email address have a very low volume level.  If you are receiving voice mails via email to a cell phone, you can't even hear it.  To fix this and boost the voicemail to email attachment volume, do the following:

First, let's boost the gain by going to Setup --> General Settings in FreePBX.  Under the Voicemail section, change 'Use gain when recording the voicemail message (optional)' to 6.0.  Click 'Submit' followed by the orange bar to apply changes.

The next thing we can do is change the voicemail to email attachment format.  There are two flavors of attachment...WAV and WAV49.  It defaults to WAV49 to save file size, but let's change it to WAV.  From the Linux CLI, do the following:

cd /etc/asterisk
nano vm_general.inc

Change

format=wav49|wav

to

format=wav|wav49

CTRL+X to exit and then Y when asked to save.

 

8.5 - Polycom central server configuration

 

Since the Polycom SoundPoint IP phone central server configuration is pretty involved, I have included it in a separate document.  You can find detailed information for configuring the Polycom SountPoint IP phone central server at http://www.sureteq.com/asterisk/polycom.htm.

***Added note:  My Polycom document is probably outdated for this version of Trixbox...I'll get to updating it soon.  I'm sure you can get the gist of it though. 

8.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.

 

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 also very easy to configure via the endpoint manager.

 

Polycom SoundPoint IP phones - The IP430's and IP501's are very good mid-level phones that retail for between $170 and $190 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.  Plus, they are very easy to configure once you have set up their central server.

 

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:

 

 

 

trixbox CE Solutions

 


 

9.0 - Outbound Routes

 

 

9.1 - Outbound route with default Zap trunk

 

Now that we have set up our internal extensions, let’s focus on getting calls out.  To do this, in FreePBX, click on 'Setup' --> 'Outbound Routes.' 

 

By default, Trixbox has already created a trunk out of my FXO port in the Digium TDM400 card (trunk Zap/g0), and has already created a route which makes the user dial 9 to get an outside line (0 9_outside).  Lets click on the ‘0 9_outside’ route on the right hand side of the screen and add a few more dial patterns for outbound dialing.

 

The only dial pattern so far should be ‘9|.’  You can leave this dial pattern if you want your users to dial 9 to get an outside line. 

 

If you do NOT want to dial 9, remove it and insert your own patterns.  Under Dial Patterns, you should see ‘Insert.’  This allows you to insert pre-defined dial patterns for commonly dialed numbers.  I picked the following patterns:

 

Local 7/10 digit

Long Distance 

Toll Free

Information

Emergency

 

Click ‘Submit Changes’

Click the orange bar at the top of the screen to apply the changes.

 

My Dial Pattern for route 9_outside now looks like this:

 

311

411

911

1800NXXXXXX

1866NXXXXXX

1877NXXXXXX

1888NXXXXXX

NXXNXXXXXX

NXXXXXX

 

I try dialing my cell phone with my cordless x111, and it works!

9.2 - VoIP Provider Setup

Since I only have a single Vonage line, if I want to be on more than one call at a time I'll have a problem.  To fix this, I'll need to set up a VoIP provider to allow me to make calls through my broadband connection.  Trixbox has removed the VoIP Setup Wizard, but here is how to manually set up 2 providers previously included in the Trixbox package.

9.3 - VoicePulse

To set up a VoicePulse trunk, first you need to create an account with VoicePulse by going to http://www.voicepulse.com and signing up for an account.  Once your account is created, you will be able to log into the VoicePulse site and retrieve your login and password.

*** NOTE:  Trixbox v2.2 has a module for setting up VoicePulse, but it does not function properly.  Your best bet is to set up the trunks manually per the instructions below.

You will want to make note of your login and password as it will be used to set up your trunks.  You can find your login and password by logging into the VoicePulse site and clicking 'Credentials' in the top bar.

First, we need to download the VoicePulse public encryption key.  Go to your Linux CLI and do the following:

cd /var/lib/asterisk/keys
wget http://connect.voicepulse.com/keys/voicepulse20060419.pub

Now, go back to your FreePBX GUI and click on Trunks --> Add IAX2 Trunk.  Enter in the following information:

Outgoing CallerID:  "Your Name" <Your number>
Never Override CallerID:  unchecked
Maximum Channels:  4

Outgoing Dial Rules
Dial Rules:  (Enter in your own dial rules)

1NXXNXXXXXX
1818+NXXXXXX (for my local area code)

Outbound Dial Prefix:  Leave blank

Outgoing Settings:
Trunk name:  Voicepulse1
Peer Details: (put this in the text box):

allow=ulaw&alaw&gsm&ilbc&g726&adpcm
disallow=all
host=connect01.voicepulse.com
notransfer=yes
qualify=yes
secret=(your VoicePulse password)
type=peer
username=(your VoicePulse username)

Incoming settings:
User context:  voicepulse (this HAS to be voicepulse)
User details: (put this in the text box):

allow=ulaw&alaw&gsm&ilbc&g726&adpcm
auth=rsa
context=from-pstn
disallow=all
inkeys=voicepulse20060419
notransfer=yes
qualify=yes
secret=(your VoicePulse password)
type=user

Register String:  (VoicePulse Login):(VoicePulse password)@connect01.voicepulse.com

So, for instance, if your Login and password are F8yyZ41fGG and J974YmmZ3d then your register string would be "F8yyZ41fGG:J974YmmZ3d@connect01.voicepulse.com".

Click Submit and then the orange bar to apply changes.

Repeat all of the steps above for your 2nd IAX2 trunk, but replace Voicepulse1 with Voicepulse2 and replace connect01.voicepulse.com with connect02.voicepulse.com everywhere you find them.

To verify whether or not these settings worked, go to your Asterisk CLI and type 'iax2 show registry' to display your IAX registry settings:

asterisk1*CLI> iax2 show registry
Host Username Perceived Refresh State
64.61.93.90:4569 (username) (your IP address):58403 60 Registered
64.61.93.87:4569 (username) (your IP address):58404 60 Registered

Next, we need to create an outbound route that uses these trunks.  Click on 'Outbound Routes' and enter in the following info:

Route Name:  VoicePulseOut
Route Password:  <blank>
PIN Set: <no selection>
Emergency Dialing:  unchecked
Intra Company Route:  unchecked

Dial Patterns:

9|.

Trunk Sequence:

0:  IAX2/Voicepulse1
1:  IAX2/Voicepulse2

Click submit and then the orange bar to apply changes.

I set the VoicePulse trunks as my only outbound route and try dialing my cell phone in 10 digit format (91NXXNXXXXXX), and it works!  7 digit dialing also works because I added the '1818+NXXXXXX' to my Voicepulse trunk dialing pattern.

Are these two trunks working?  How can we find out?  Go into your Asterisk CLI and type 'IAX2 show registry.'  You should see an output like this:

asterisk*CLI> iax2 show registry
Host Username Perceived Refresh State
64.61.93.90:4569 (username) (my IP):53589 60 Registered
64.61.93.87:4569 (username) (my IP):53587 60 Registered

Since it shows 'Registered,' we know that everything is A-OK.

9.4 - VoIP Street

To set up VoIP Street, first, you need to sign up for an account.  To do so, go to http://www.voipstreet.com and sign up for an account.  Enter in your information and wait for your email response.  Once you have your email, log in to the Voip Street customer portal and click on 'Menu' on the left-hand side of the screen.  It will expand out.  Click on the '+' sign next to 'Account Settings' and then click on 'Account Home.'

In the 'Quick Launch' menu, click on 'View/Add Devices.'

In the 'Add a New Device' section, enter in the following info:

Friendly name: (can be whatever...I called mine Outbound)
Protocol:  IAX2 Protocol
Codec:  ulaw (g711)

Click the 'Add New Device' button, then click 'OK' on the confirmation screen.

You should now see your new device in the 'Devices Currently Configured' section.  Click on the 'Setup Help' link under 'Config' in your device.  Note the information listed in the Trixbox section and then go back to your Trixbox VoIP Street provider page and fill in the following info:

Desired Caller ID Name:  (Can be whatever you want)
Desired Caller ID Number:  (Can be whatever you want)
Device Username:  (Enter in the Device Username given to you by VoIP Street)
Device Password:  (Enter in the Device Password given to you by VoIP Street)
Device Protocol:  IAX
Device Codec:  g711

Click 'Continue.'

Click the 'Create Trunk Now' button.

When the FreePBX screen shows up, click the orange bar at the top of the screen.  You should now have a new trunk called 'IAX2/voipstreet' listed in your list of trunks.  Lets try to make a call with that trunk.

Click on 'Outbound Routes' and then the '9_outside' route.

Under 'Trunk Sequence' make IAX2/voipstreet the main trunk.  (To be extra sure this is working, delete all other trunks listed...but remember to add them back after testing).

I try to dial my cell phone using 10 digit dialing (91NXXNXXXXXX) and it works...but when I try 7 digit dialing (9NXXXXXX), it says 'All Circuits are Busy.'  So let's go back to the VoIP Street trunk and adjust the dial plan.

Click on 'Trunks' and then 'Trunk IAX2/voipstreet.'  In the 'Dial Rules' section, add the following:

1NXXNXXXXXX
1818+NXXXXXX

This means to dial 10 digit calls normally, but to add my local area code (818) to 7 digit dialed numbers.

I try my 7 digit dialed call again, and this time it works perfectly!

 

 

10.0 - Incoming calls/IVR setup

 

Now, I need to tell my Trixbox what to do with incoming calls.

 

 

10.1 - System recordings

But first, let’s take care of the necessary recordings for my IVR.

 

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 the next available associate.  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 System Recordings.

 

You can either record your greetings as .WAV files in an external application (8-bit mono recordings work best over the phone lines), or straight into an extension.  We’ll record using our extension.

 

Put your extension number into the extension field and click ‘Go.’

 

Pick up the extension that you put into the extension field and dial *77.  You will hear a beep…start your recording.  When you are done, hang up the extension.  Type in a name for your recording in the 'Name this Recording' field (without the .wav extension) and click ‘Save.’

 

Repeat for as many recordings as you would like to have in your Trixbox.

 

10.2 - IVR

Click on IVR and then click Add IVR.

 

I used these settings for my initial IVR:

 

Change Name:  BusinessHours

Timeout:  10

Enable Directory:  Checked

Directory Context:  default

Enable Direct Dial:  checked (this allows callers to dial extensions directly from the IVR's recording)

Announcement:  Thanks (my pre-recorded Thanks recording from above)

 

For my options, I will have 3, so I leave the Increase/Decrease default, but if you have more or less options, feel free to add/remove them.

 

Option 1:

 

2 – Extensions – Cordless <111>

3 – Extensions – Soft phone <102>

4 – Extensions – GXP2000 <101>

 

Figure 10.2.1 

Save

Click on the orange bar at the top of the screen.

 

*** NOTE:  I know I said that I was going to have options 2 and 3 forward to cell phones…I’m getting there, but I just want to get this set up and working with local extensions first).

 

*** NOTE:  Why didn't I have option 1 in my IVR (I started with option 2)?  Because my internal extensions are dial pattern 1xx.  If I want to enable direct-dial, I can't have a number in my IVR that matches the start of my extension dial plan or else there will be a long delay while the system waits to see if I am going to input any more digits.)

 

Click on ‘Add IVR’

 

Change Name:  AfterHours

Timeout:  10

Enable Directory:  Checked

Directory Context:  default

Enable Direct Dial:  checked

Announcement:  Closed (my pre-recorded Closed recording from above)

 

Option 1:

 

2 – Extensions – Cordless <111>

3 – Extensions – Soft phone <102>

4 – Extensions – Budge Tone <101>

 

*** Note:  The options are exactly the same as my BusinessHours IVR except for the name and the announcement…why the heck did I do that?  Well…because my Thanks recording lists the possible extensions (2,3,4), and my Closed recording does not…however I still want specific people to be able to call my extension after hours, so even though the after hours recording does not list the options…the options are still available...just not mentioned in my recording.

 

10.3 - Time Conditions

Setting up time conditions will be the next step.  Click on Time Conditions.  I used these settings:

 

Time Condition Name:  Incoming

Time to match:

Time to start:  08:00

Time to finish:  19:00

Week Day Start:  Monday

Week Day Finish:  Sunday (we’re open 7 days!)

(Leave the rest blank)

 

Destination if time matches:

IVR:  BusinessHours (my daytime-created IVR)

 

Destination if time does not match:

IVR:  AfterHours (my nighttime-created IVR)

 

Figure 10.3.1 

Click ‘Submit Changes’

Click the orange bar at the top of the screen to apply the settings.

 

10.4 - Inbound Route

Next, we want to add our incoming route.  Click on ‘Inbound Routes.’  You can route based on DID channel, Caller ID Number, Zaptel channel, or if all of those are left blank, it will route all un-matched (by DID, CID or Zap channel) calls to your settings.

 

Description:  Main 

DID Number:  <blank>

Caller ID Number:  <blank>

Zaptel Channel:  <blank>

 

Fax Extension:  disabled (for now)

(Leave the rest of the fax stuff default)

 

Privacy Manager:  No

 

Alert Info:  <blank>

CID name prefix:  <blank>

Music On Hold?:  Default 

Signal RINGING:  <Unchecked> 

 

Set Destination:

Time Conditions:  Incoming (the one we just created)

 

Click Submit - You will get a message if you left DID/CID/Zap Channel routing blank...this is just asking if you are SURE you want this to be your default route.

 

Figure 10.4.1

 

Click OK. 

 

Click the orange bar at the top of the screen to apply changes.

 

At this point, we can simulate an incoming call by dialing 7777 from one of our extensions.  You should hear one of the two recordings we did for the Digital Receptionist.
 

 

11.0 - On Hold Music

 

Next, we will set up our hold music. 

 

Click on ‘Music On Hold.’  I typically delete all of the included mp3’s and choose to upload my own.  You have to always have 1 mp3 available for hold music, so you’ll have to upload at least one song prior to deleting all of the included music. 

 

Browse for a .wav or .mp3 file that you would like to be played as your hold music, and click ‘Upload.’  When a box pops up telling you that you need to wait for the page to reload, click 'OK.'

 

Once the page has reloaded, click on the orange bar at the top of the screen to apply the settings.

 

You can repeat this for as many songs as you’d like to upload. 

 

One nice thing about Asterisk is that it only plays hold music while someone is actually on hold.  So, if someone hears 30 seconds of an on-hold song, and then is taken off of hold, the song will pick up where it left off the next time someone is put on hold.
 

 

trixbox CE Solutions

 


 

12.0 - Forward calls to a cell phone

 

Since I only have a single Vonage line out to the Internet, I need to use VoIP to forward an incoming call through the Internet to my cell phone.  For this, we will use one of the trunks that we set up in chapter 9. 

 

Click on 'Extensions' and then select  'Other (Custom) Device' from the drop-down box and click 'Submit'.  Enter the following information:

 

User Extension:  112

Display Name:  My cell phone

 

(leave all of the rest blank until you get to 'dial.')

 

dial:  (SIP or IAX2)/(trunk name)/18185551212 (my cell number on the end there)

 

So, for instance, if you were trying to dial out of your Voicepulse IAX2 trunk, you would fill in:

 

dial:  IAX2/Voicepulse1/18185551212

 

Set Fax Extension to 'Disabled.'

 

Take defaults for Privacy Manager and Recording Options.

 

Voicemail & Directory:  Disabled

 

Click 'Submit' and then click the orange bar at the top to apply the changes to Asterisk.

 

Now, we go back to our Digital Receptionist and change the extension we originally set up to the custom extension we just created.

 

Click on Digital Receptionist, then click on the 'BusinessHours' IVR.  Under ‘2’ which is currently going to Core:Cordless<111>, we want to change that to:

 

Core: My cell phone <112>

 

Now, when a caller calls in and presses '2,' it will automatically forward that call to my cell phone.  In addition, if an internal user dials extension 112, it will also forward to my cell phone.

 

Remember to also change this setting for the 'AfterHours' IVR if you opted to use it.

 

 

13.0 Simple Queue setup

13.1 Forward to cell phones queue

 

I would now like to set up a new queue which routes inbound callers to the cell phone extensions I created in chapter 12.  I had set up extension 112, however lets say that I also have extension 113.  This is the exact same concept for internal extension queues.

 

Click on Queues on the left hand side of the FreePBX screen.

 

I used the following information to set this up:

 

Queue number (extension for the queue):  200
Queue name:  CellRoundRobin
Queue password:  <blank> (since I am going to use static agents, there is no need to have the agents log into the queue)
CID name prefix:  <blank> (if you have multiple queues, you may want to take advantage of this...this pre-pends the caller ID with some text, for instance if you put 'Sales:' in here, the caller ID would show on the agent's phone as 'Sales:18185551212' so that the agent knows which queue the call is coming from)
Static agents:    112
                        113
 

Agent announcement:  <none> (I don't need one since this queue will end up being an option off of the Digital receptionist that I set up in chapter 10).

Music on Hold Class:  Inherit  (an interesting note...you can set up different hold music contexts for different applications such as standard on-hold, or separate queues...so for instance, if you would like callers to hear perhaps a song followed by an advertisement for your company, you would set that up as a different hold music category...for our purposes however, I will leave it on inherit which just takes the MoH setting from the Inbound Route).

 

Ring tone instead of MOH:  <unchecked>  (who wants to hear ringing while they're on hold for 10 minutes??)
Max wait time:  Unlimited
Max callers:  0 (unlimited)
Join empty:  Yes
Leave when empty:  No
Ring Strategy:  roundrobin
Agent timeout:  15 seconds
Retry:  5 seconds
Wrap-up-time:  0 seconds
Call recording:  No

Event when called:  no

Member status off:  Yes

 

Caller Position Announcements 

Frequency:  0 seconds
Announce position:  No
Announce Hold Time:  No

 

IVR Break Out Menu:  None  (you can point this to another IVR if, for instance, you would like to give people on hold in the queue the option to press 8 to leave a message instead of waiting).
Repeat Frequency:  0 seconds
Join Announcement:  None 

Fail Over Destination:
Voicemail:  111 (my cordless...since this ACD transfers calls to cell phones, this is kind of a moot point for the application).

 

Click Submit Changes

 

Click the orange bar at the top of the screen to submit the changes.

 

You should now be able to click on 'Panel' and see your new Queue.  If you dial 200 from an internal extension, the call will go to extension 112 (my cell phone).  If you dial it again, it will go to 113, and so forth.
 

14.0 - Panel configuration

Now that we have some good extensions, trunks, and queues in our Trixbox box, we should take a look at the FOP (Flash Operator Panel) or simply Panel.  Click on 'Panel' to the left of the FreePBX logo, and you will be taken to the Panel.  Once there, you will see your extensions, queues, trunks, and the parking lot all laid out nicely.  If you double-click on any of the green buttons, you will be prompted for a password. 

First, lets set that password to something we can use.  (The default password is:  passw0rd).

Go to your CLI and type the following:

cd /etc
nano amportal.conf

About 50 lines down, you'll see FOPPASSWORD=passw0rd.  Change the 'passw0rd' to whatever password you would like, and hit CTRL+X and then Y and ENTER to exit nano.

Now, restart the panel with amportal restart from the CLI, and you're good to go.

There are a few useful things you can do with the FOP.  For instance, if a call is in session, you can click on the RED button to disconnect the call.  If you would like to call an extension, you can drag the phone icon located to the right of the extension number to another extension.  This initiates the call to both phones.  To transfer a call, drag the phone icon from the extension you want to disconnect to the new extension, and the call is transferred.  For more information on the FOP, please see http://www.aussievoip.com/wiki/TB-FOP.

15.0 - HUD Lite configuration

HUD Lite and HUD Server are another 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...we can expect to see some exciting things happen with HUD/Trixbox integration.

For Trixbox v2.4, HUD Server and HUD Admin are not installed by default.  To install them, we need to first go to the package manager. 

First, log in to Trixbox.org in the upper right-hand corner of the Trixbox v2.4 screen.  If you do not have a logon and password for Trixbox.org, you can click 'Register' to sign up.  Note that both username and password are case sensitive.

Now, you can click on 'Packages' and see a list of available packages to install in Trixbox.  To make things easier, you may want to first go to 'Settings' and de-select everything but the 'trixbox' packages...this makes the list a lot shorter.

Scroll through the list of packages until you find 'tbm-hudadmin.noarch.'  Check the box to the right of that package and then scroll down to the bottom and click 'Install.'  Note that there is also a 'hudlite-server.i386' package, but by selecting the hudadmin.noarch package, it will install both.

When prompted about whether or not you are sure you want to install the selected packages, click 'OK.'  Your browser will now hang while it installs or upgrades the requested package(s).

Once it has completed, it will display a summary of the package install/upgrade transaction.  If you scroll to the bottom and see 'Complete!,' then you have successfully installed or upgraded.

The HUDlite Admin now no longer needs us to put extensions in manually, however it does assign a random password to each of your extensions which should probably be changed to something easier to remember.  Mouseover 'Asterisk' and select 'HUDlite Admin.'  You should see all of your created extensions.  Change the password for the extensions you want to and click 'Submit.'

***Note:  HUDlite is not currently compatible with IAX or ZAP extensions.

Time to download and install HUD-Lite for another computer.  They have versions for Windows, Mac, and Linux, but my document will focus on Windows since that is what I have installed.  You can get HUD-Lite at www.hudlite.org.  Download the latest version and install onto your PC using all defaults.

When you first open HUDLite, you will be given a setup wizard.  On the first screen, enter the following information:

Username:  (the HUD Login shown in HUDlite Admin)
Password:  (the password shown in HUDlite Admin)
Next ->

Server name:  (the IP address of your Trixbox server)
Password:  (the HUD-Server password - by default it is 'password')
Server port:  6600
Next ->

Outlook Addin (choose to install the Outlook plug in now...you can always do it later if you want)
Install or Later ->  (if you choose Install, a separate installation routine is opened...just take all defaults.  You will have to close Outlook to install the addin.)

When the wizard finishes, HUD-Lite should now connect to your Trixbox and show you the extensions you set up:



HUD-Lite 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 (although this didn't seem to work too well for me).  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-Lite 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.  Muahahaha...big brother in the house.


16.0 - Tools

16.1 - Callback

Callback allows a user to dial into the system, hang up, and then have the system call them back directing them to a specific location.  This is helpful if for instance, you are using a cell phone to dial in, but do not want to pay for the minutes used.  The system can call your cell phone back at the cheaper SIP/IAX rates of your trunks.

The first step in setting up Callback is that the module needs to be enabled.  In FreePBX, click on Tools --> Module Admin.  Then click on 'Check for Updates Online.'  Once connected, check the box to the left of 'Callback' and click 'Submit.'

Now, click on 'Setup' in the top toolbar and then 'Callback' on the left.  Enter in the following information:

Callback Description:  (whatever you want)
Callback Number:  (enter in a specific number to call back, or leave blank to use the caller's caller ID)
Delay Before Callback:  (the amount of time the system waits before calling the caller back...I put in 10 for 10 seconds)

Destination after Callback:  (select your destination - I chose to have it ring one of my extensions x111 for testing purposes)

Now you need a way to access your Callback.  I will do this through my main IVR as a hidden selection (by hidden, I mean that it will be an option in the menu, but not spoken to the callers in the announcement...I don't want EVERYONE to use this feature).  :)

Click on 'IVR' and then click on your desired IVR (I'm using the 'BusinessHours' IVR).  Click the 'Increase Options' button to create a new option...I will make Callback option 5.  Then click the radio button for 'Callback' and choose the Callback that you just set up.

Figure 16.1 

Click 'Save' and then the orange bar to apply changes.

Now, let's test it out.  I call my phone number with my cell phone, and then press 8 when the announcement comes on.  And the stupid computer hangs up on me!!  Just kidding...that is what it is supposed to do.  I can see that it has all of the options set properly, and the system now waits 10 seconds before dialing me back.

16.2 - DISA

DISA stands for 'Direct Inward System Access.'  It gives you the ability to have an option on an IVR that gives you a dial tone which, in turn, allows you to dial out from the Trixbox as if you were using an internal extension.  It is very handy for remote users who don't want to use their own money for long distance calls, or who want to appear to be calling from the office.

The first step in setting up DISA is that the module needs to be enabled.  In FreePBX, click on Tools --> Module Admin.  Click DISA and change the radio button to 'Install.'  Click 'Process' and then 'Confirm' to install the module.

Now, click on 'Setup' in the top toolbar and then 'DISA' on the left.  Enter in the following information:

DISA name:  (can be whatever)
PIN:  (whatever DISA password you want...I used 12345)
Response Timeout:  10
Digit Timeout:  5
Require Confirmation:  (unchecked)
Caller ID:  <blank>
Context:  from-internal

Click Submit followed by the orange bar.

Now you need a way to access your DISA.  I will do this through my main IVR as a hidden selection (by hidden, I mean that it will be an option in the menu, but not spoken to the callers in the announcement).

Click on 'IVR' and then click on your desired IVR (I'm using the 'BusinessHours' IVR).  Click the 'Increase Options' button to create a new option...I will make DISA option 7.  Then click the radio button for 'DISA' and choose the DISA that you just set up.

Now call in, press 7 and you should get a dial tone.  Dial a new number and your system will call out.

16.3 - Trixbox to Trixbox IAX2 trunk

This section will explain how to connect two Trixboxes together.  It assumes that you have 2 Trixbox v2.4 boxes, but this should work with other versions of Trixbox as well.

This setup can be confusing, so it would be best to get all of our information gathered up before starting.  Fill in your own Trixbox information for the following fields:

TrixboxA
Hostname or IP:  192.168.200.16
Username:  trixboxa
Secret:  12345
Local extension dial pattern:  1xx

TrixboxB
Hostname or IP:  192.168.200.20
Username:  trixboxb
Secret:  12345
Local extension dial pattern:  2xx

***NOTE:  This document assumes that the Trixboxes are on the same local subnet, however if they aren't, you will want to make sure that UDP port 4569 is open in the firewall to your Trixboxes on both sides, or that you are using some sort of VPN.

Let's start by configuring TrixboxA.  Click on Trunks --> Add IAX2 Trunk and enter in the following information:

Outbound Caller ID:  (can be whatever)
Never Override CallerID:  unchecked
Maximum Channels:  <blank>

Dial Rules:  2xx  (the dial pattern for the TrixboxB extensions)
Outbound Dial Prefix:  <blank>

Outgoing Settings
Trunk Name:  ToTrixboxB

Peer Details:
host=192.168.200.20
username=trixboxb
secret=12345
type=peer

Incoming Settings:
User Context:  trixboxa

User Details:
context=from-internal
host=192.168.200.20
secret=12345
type=friend

Register String:  trixboxb:12345@192.168.200.20

Click Submit followed by the orange bar to apply changes.

Now switch over to TrixboxB and click on Trunks --> Add IAX2 Trunk and enter in the following information:

Outbound Caller ID:  (can be whatever)
Never Override CallerID:  unchecked
Maximum Channels:  <blank>

Dial Rules:  1xx  (the dial pattern for the TrixboxA extensions)
Outbound Dial Prefix:  <blank>

Outgoing Settings
Trunk Name:  ToTrixboxA

Peer Details:
host=192.168.200.16
username=trixboxa
secret=12345
type=peer

Incoming Settings:
User Context:  trixboxb

User Details:
context=from-internal
host=192.168.200.16
secret=12345
type=friend

Register String:  trixboxa:12345@192.168.200.16

Click Submit followed by the orange bar to apply changes.

Now that we have our trunks set up on both boxes, we need to add some outbound routes that use these trunks.  On TrixboxA, click on Outbound Routes and enter in the following information:

Route Name:  ToTrixboxB
Route Password:  <blank>
Emergency Dialing:  unchecked
Intra Company Route:  checked

Dial Patterns:  2xx

Trunk Sequence:  IAX2/ToTrixboxB

Click Submit followed by the orange bar to apply changes.

Now we need to do the same thing on TrixboxB.  Click on Outbound Routes and enter in the following information:

Route Name:  ToTrixboxA
Route Password:  <blank>
Emergency Dialing:  unchecked
Intra Company Route:  checked

Dial Patterns:  1xx

Trunk Sequence:  IAX2/ToTrixboxA

Click Submit followed by the orange bar to apply changes.

*** NOTE:  You probably want to put these trunks as the 1st trunk in the trunk order so that calls to the 1xx or 2xx extensions will be processed first.

You should now be able to call 2xx trunks on TrixboxB from TrixboxA and 1xx trunks on TrixboxA from TrixboxB. 

16.4 - Parking Lot

A nice feature of Trixbox is the parking lot.  This allows a receptionist or user to 'park' a call by transferring to the call park extension.  The call is essentially placed on hold for anyone to pick up by dialing the parking lot extension they were placed on.

To install the Parking Lot, go to Tools --> Module Admin.  Scroll down until you find the Parking Lot.  Expand it and click the 'Install' radio button followed by 'Process' at the top or bottom of the Module Admin screen.  On the next page, click 'Confirm' to install the module followed by clicking on the orange bar.

Now click on Setup --> Parking Lot and use these settings:

Enable Parking Lot Feature:  checked
Parking Lot Extension:  70  (***Note:  I have seen a few installations where the Parking Lot does not work on extension 70, but if you change it to 700, it works fine)
Number of Slots:  8 (This is the number of parking lot 'spaces' available for putting calls on hold...unless this is a BIG install, you should never need more than 8)
Parking Timeout:  45 seconds (the amount of time a call can sit in the parking lot before going back to the original person who put the call on hold)
Parking Lot Context:  (take the default)

Parking Alert-info:  <blank>
CallerID Prepend:  <blank>
Announcement:  None

Destination for Orphaned Parked Calls:  (I set this to my main phone...you would most likely want to put the receptionist's extension in here).

To use the Parking Lot, transfer a call to the Parking Lot Extension above.  You will then hear a voice tell you which space it put the call into (ie. 'seven one').  If you used 70 as your parking lot extension, your spaces are 71 through 78 (assuming 8 slots selected above).  If you heard 'seven one' you then dial 71 to pick up the call.

16.5 - Octasic SoftEcho

Octasic has put out a software echo cancellation module which emulates the echo cancellation of the hardware chips Octasic has included in some of the higher-end Digium cards.  For $10 bucks per Zap channel, you too can purchase a software echo cancellation license and install it into Trixbox v2.4.

Once you have obtained a license for SoftEcho, you need to download the latest version of the software and the registration module.  You can FTP to ftp://ftp.octware.net/pub/octvqe8/32-bits/latest to see the latest files available.  As I am writing this, the latest version is 01.02.00.  I am writing this based on the 32-bit version, but there are also 64-bit versions available.  Since I am also running an Intel architecture, I want to download the Intel architecture specific executable.  I also need to download the register application.

cd /usr/src
wget ftp://ftp.octware.net/pub/octvqe8/32-bits/latest/octvqe8-01.02.00-pr-intel32.tgz
wget ftp://ftp.octware.net/pub/register/32-bits/latest/register32
tar zxvf octvqe8-01.02.00-pr-intel32.tgz
chmod +x register32
./register32

You will now be prompted to enter in the registration key you received from Octasic.  When asked whether or not you want to proceed with registration, press 'y' ENTER.  Accept the license agreement and then fill out all of the information.  If you have multiple keys, run register32 again for your additional keys.

You can now run /usr/src/octvqe8-01.02.00-pr/octvqe/octvqed.  It should tell you the number of licenses you have installed:

[root@asterisk22rc3 octvqe]# ./octvqed

1 licensed channel(s) found.

OctWare echo canceller started (1 channel(s))

Did it work?  Let's take a look:

cat /proc/octvqe

You should see an output similar to this:

OCTVQE-MOD-01.01.01-PR, built on Mar 22 2007 04:04:37
Channel 1 (Inactive) (Octvqed Connected)
Tail Length (64 ms), Default ERL (9 dB)
Rin/Sin Current Energy (0 dB, 0 dB), Av. Energy (0 dB, 0 dB)
Number Buffers (0), Buffer Size (20 ms), Av./Max CPU Time (0 us, 0 us)
Channel 2 (Inactive) (NO Octvqed Connected)
Channel 3 (Inactive) (NO Octvqed Connected)
Channel 4 (Inactive) (NO Octvqed Connected)
Channel 5 (Inactive) (NO Octvqed Connected)
Channel 6 (Inactive) (NO Octvqed Connected)
Channel 7 (Inactive) (NO Octvqed Connected)
Channel 8 (Inactive) (NO Octvqed Connected)

The last step is to make sure that the Octasic service starts on boot.

nano /etc/rc.d/rc.local

Append the following line to the end of the file:

/usr/src/octvqe8-01.02.00-pr/octvqe/octvqed

CTRL+X to Exit followed by 'Y' to save.


trixbox CE Solutions

 


17.0 - Backups

One of the most important pieces of running a successful Trixbox (or any enterprise product) is ensuring that you have a reliable backup system.  This section will explain how to create a scheduled backup and how to automate the export of that backup to an FTP server.

17.1 - Backing up Trixbox 

You should already have the backup module installed from Chapter 6.  If not, go to Chapter 6 to install the Backup and Restore module.

***Note:  Sometimes the backups don't work out of the box.  If you are finding that your backups aren't running, do the following:

cp /var/www/html/admin/modules/backup/var/lib/asterisk/bin/* /var/lib/asterisk/bin
chown asterisk: /var/lib/asterisk/bin/*

Your backups should now work.

We will now create a weekly scheduled backup of your Trixbox system.  Click on Tools --> Backup & Restore, and then click on 'Add Backup Schedule' on the right-hand side.

Enter in the following information:

Schedule Name:  Weekly
VoiceMail:  yes
System Recordings:  yes
System Configuration:  yes
CDR:  yes
Operator Panel:  yes

Run Backup:  Weekly (on Sunday)

Click Submit to apply changes.

You have now created your Weekly backup schedule which will run on Sunday.  (*** Note:  for our purposes we want to also create a backup NOW so that we can continue with our setup.  Click on the 'Weekly' backup schedule you just created and change 'Run Backup' to 'Now' and then click Submit.  Once the page refreshes, change 'Run Backup' back to 'Weekly (on Sunday)' and click Submit again.  We now have a brand new backup and can continue setting up our backups).

17.2 - Automating backup to FTP

Now, we have a backup that will be created weekly, but it doesn't do us much good if the system crashes and the backup is located on the local hard drive!  So, let's set up a script to move the backup to an FTP server after it has been created.

First, we need to download the script:

cd /usr/local/sbin
wget http://www.sureteq.com/asterisk/ftpbackup
chmod +x ftpbackup
nano ftpbackup

Once you are editing the file, modify it for your FTP settings:

#! /bin/sh

#
# SureTeq's FTP Backup script
# http://www.sureteq.com/asterisk for Asterisk/Trixbox/A2billing documentation
#
# Script created by Chris Sherwood on 1/26/2007
# Script modified by Chris Sherwood on 1/26/2007
#


# Note - the backup name is case sensitive
cd /var/lib/asterisk/backups/Weekly

ftp -inv <<!

# Your FTP server's IP address here
open 192.168.200.4

# Your FTP username and password
user username password

# Optional - I created a backup subdirectory on my FTP server
# Leave this line out to put the file in the FTP root
cd backup

bin
mput *
quit


Once the script has been modified for your FTP settings, we now need to set it up to run weekly:

nano /etc/crontab

Add this line to the end of the crontab file:

01 0 * * 1 root /usr/local/sbin/ftpbackup

This will copy the backup file that was created on Sunday to the FTP server at 12:01am on Monday morning.  Optionally, you can also add this line to delete the files in the backup directory after they have been FTP'd off of the system:

01 1 * * root rm -f /var/lib/asterisk/backups/Weeky/*

This will delete everything in the Weekly directory at 1:01am on Monday morning.  I would only recommend doing this if you are FTPing to a WAN server to save bandwidth.  If you are backing up to a LAN, it really isn't necessary.


A note from the author:

 

Hey everyone!

 

If you have found this document useful, or have realized the hours upon hours of learning curve this document has saved you, please feel free to donate using the PayPal button below...donations are always appreciated!

OR...if you have enjoyed this document 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: