
Trixbox v2.2 beta
Complete setup guide for a small business
Document v1.2 - Last updated 03/03/2008 by Chris Sherwood, SureTeq, Inc.
Trixbox v2.2 beta 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.2 beta for a small business. It includes information on how to set up extensions, incoming and outgoing phone calls, and other useful applications.
Also note that Trixbox v2.2 beta is a beta version of the Trixbox product. Caution should be used when placing a beta version of any product into production. Be sure to test extensively before using Trixbox v2.2 beta in a production environment.
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. Hourly rates and support contracts are available. For pricing information and contact details, please email 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.
Table of contents
1.0 - Hardware platform used in the creation of this document
2.0 - Download and install Trixbox v2.2 beta
5.0 - General Trixbox setup and security
8.0 - Configure internal extensions
8.3 - Endpoint Manager / GrandStream GXP-2000
8.4 - Polycom Central Server configuration
8.5 - A note on hardware phones
9.1 - Outbound route with default Zap trunk
10.0 - Incoming calls/IVR setup
12.0 - Forwarding calls to a cell phone / IAX2 setup
13.1 Forward to cell phones queue
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
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
SureTeq, Inc.
My Voipsupply.com banner link:
2.0 - Download and install
Trixbox v2.2 beta
Download the Trixbox v2.2 beta ISO file from SourceForge:
http://sourceforge.net/project/showfiles.php?group_id=123387&package_id=192286
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.
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 and install Trixbox v2.2 beta
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.
GUI config:
New in Trixbox v2.2 beta is 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 can find your default Trixbox IP by running 'ifconfig' in the Linux CLI. Switch into Admin mode by clicking 'User mode [ switch ].' Then click on 'Settings' --> 'Network.'
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 may need to re-open your browser with the new IP address settings.
To change other settings such as host name or DNS servers, click on 'Edit Network Parameters' and make your desired changes. Click 'Save' when finished.
Manual config:
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.
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:
http://192.168.200.16:10000 (obviously, replace my IP with your Trixbox IP)
***NOTE: Webmin can also be
installed using Trixbox's built-in package manager discussed later in this
document.
Setting up your Zaptel driver has typically been a problem with Trixbox v1.1 and earlier, however on 2.0, the only issue I ran into was that I had to manually run 'genzaptelconf.' The genzaptelconf program successfully detected and configured my Zaptel card on the first try.
*** NOTE: The 'genzaptelconf' program does not work with PRI
cards...these must be configured manually.
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
5.0 - General Trixbox Setup/Security
Now it is time to configure Asterisk/Trixbox.
Using a web browser, connect to your new setup by typing in the IP address. For my box, I will use http://192.168.200.16.
Enable SSL:
To enable SSL web browsing to the Trixbox web console, run the following commands from the Linux CLI:
yum -y install mod_ssl
service httpd restart
You can now connect to https://192.168.200.16.
Unfortunately however, the main page will forward back to http as soon as you log in. As a workaround, you can follow the instructions located here: http://www.script-trix.us/serverssl.htm. Once you have created and installed your self-signed certificate and rebooted, you can then manually point to the SSL versions of the Trixbox pages such as https://ip.add.re.ss/maint for the main screen or https://ip.add.re.ss/admin for FreePBX. Thanks to Tom from www.script-trix.us for the excellent scripts.
Change default passwords:
You should see the Trixbox web console. If you get ‘Page Can Not Be Displayed,’ go back and verify your IP settings.
Click on ‘User mode [ switch ]' in the upper right hand corner. Enter the following info:
Username: maint
Password: password
But, before we do anything, let's change our passwords. We need to do this at the Linux CLI.
Update maint password by typing ‘passwd-maint’ at 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.
You will also need to update the password in the /etc/asterisk/cdr_mysql.conf file so that the call detail records (cdr) can connect to MySQL with the new password.
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.
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)
Update packages:
Update all Cent-OS packages by typing 'yum -y update' at the command line.
Securing SSH:
This is an ***optional*** step, but I like to allow access via SSH2 only.
cd /etc/ssh
nano sshd_config
Find this section (should be just below the opening comments...about 12 lines down):
#Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
Uncomment the first three lines and change them to this:
Port 22
Protocol 2
ListenAddress 192.168.200.16
#(your asterisk IP address)
#ListenAddress ::
(leave this commented out...unless you are using
IPv6...which you are probably not).
Type 'CTRL+X' to exit nano and 'Y' to save changes.
From the Linux CLI, do:
service sshd restart
You can now connect to your Trixbox with SSH2 by using an SSH client such as PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/
Changing Verbosity:
By default, Trixbox sets the Asterisk verbosity to 1 v. This is usually not enough for seeing everything that is going on, so I typically prefer 3 v's. Basically, this means that when starting asterisk, you will have an option for -vvv instead of only -v which allows you to see more of what's going on in your system. For debugging, I usually set it to 10 v's...but for normal operations, 3 will suffice.
nano /usr/sbin/safe_asterisk
About 12 lines down, you will see a line that says:
ASTARGS="-v -g -p -U asterisk -G asterisk"
Notice that there is only 1 -v. I will now change this to:
ASTARGS="-vvv -g -p -U asterisk -G asterisk"
CTRL+X to exit, and 'Y' when asked if you want to save.
Now do an 'amportal restart' and when you do 'asterisk -r' to connect to your Asterisk session, you should see:
Connected to Asterisk 1.2.16
(etc.) currently running on asterisk1
Verbosity is at least 3
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. Once FreePBX has opened, click on ‘Tools’ in the upper middle section, and then ‘Module Admin’ on the left.
Lets start with some basic modules (you can add and remove modules at any time).
To install modules in FreePBX v2.2.1 (the Trixbox v2.2 beta default version of FreePBX), 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
Voicemail
IVR
Queues
Time Conditions
Conferences
Music on Hold
Recordings
Call Forward
Call Waiting
Backup & Restore
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 page telling you that all modules were installed successfully.
See the red bar that just popped up at the top of the page that says 'Apply Configuration Changes?' Click on the red bar anytime you make changes and then click 'OK' on the window that pops up. This reloads the Asterisk configuration and the red 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 'Tools' --> '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 red apply bar followed by 'OK.'
***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.
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
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
Direct DID: <blank>
DID Alert Info: <blank>
Outbound CID: <blank>
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
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
Hit ‘Submit’
Click the red bar to apply the options.
I now get a dial tone on my cordless phone.
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.xten.com/index.php?menu=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
Direct DID: <blank>
DID Alert Info: <blank>
Outbound CID: <blank>
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 red 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.2 beta 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. 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.20.
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
Direct DID: <blank>
DID Alert Info: <blank>
Outbound CID: <blank>
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 red bar to apply the options.
Now let's set up the Endpoint Manager. First, it needs to be installed since it doesn't get installed by default. Make sure you are in Admin mode and logged in. Click on Settings --> Repositories and check the box next to 'trxibox' only. This will filter the packages to the trixbox-specific options only. Click 'Submit.'
Now click on 'Packages' in the menu bar. It may take some time to populate, but eventually, you will see a list of available packages. Find the package named 'tmb-endpointcfg.noarch' and click the box on the right in the 'Installed' column.
Since we are setting up a Grandstream GXP-2000 phone, you also want to check the GXP2000.i386 package to install the latest Grandstream firmware.
Click 'Install' at the bottom of the package list followed by 'OK' when asked to confirm packages. Your selected packages will now install.
Once the packages have installed, mouseover 'Asterisk' and then select 'Endpoint Manager.' Note - you may need to refresh your browser to see the Endpoint Manager.
The Endpoint Manager should have 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.
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.2 beta 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
(This 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.
8.4 - 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.
8.5 - 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 are very good mid-level phones that retail for about $170 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:
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 red 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!
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.
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 beta 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 red 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 red 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.
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 red 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.
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 (without the .wav extension) and click ‘Save.’
Repeat for as many recordings as you would like to have in your Trixbox.
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 – Core – Cordless <111>
3 – Core – Soft phone <102>
4 – Core – GXP2000 <101>
Save
Click on the red 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).
(Another 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 – Core – Cordless <111>
3 – Core – Soft phone <102>
4 – Core – 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 on my recording.
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)
Click ‘Submit Changes’
Click the red bar at the top of the screen to apply the settings.
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.
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>
Set Destination:
Time Conditions: Incoming (the one we just created)
Click Submit
Click the red 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.
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 red 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.
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 red 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.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).
Hold Music Category: Default (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 default).
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 announcements
Frequency: 0 seconds
Announce position: No
Announce Hold Time: No
Voice Menu: None
Join Announcement: None
Fail Over Destination:
Core: Voicemail box 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 red 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.
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.
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.2, 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.2 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 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.
Once inside HUD-Lite, choose File --> Settings. Click on 'Connection' and then click the '+' next to Advanced Settings and enter the following information:
Username: (the HUD Login shown in
HUDlite Admin)
Password: (the password shown in HUDlite Admin)
Server name: (the IP address of your Trixbox server)
Password: (the HUD-Server password - by default it is 'password')
Server port: 6600
Login timeout: 30
Park extension: 9000
Click 'Apply' and 'Close.'
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.
SugarCRM is a bundled contact management software very similar to ACT!, but with Asterisk/Trixbox integration. With a few simple steps, you can get this to work with Trixbox.
First, switch to user mode in the upper right-hand corner and click on SugarCRM. Use the default username/password of Admin / password.
The first thing we want to do is change our Admin password for security, so click on 'My Account' tab in the upper portion of the screen. Then click on the 'Change Password' button underneath 'Users: Administrator (Admin)' in the center-left of the screen. Enter and confirm your new password and click 'Save.'
Now it's time to set up your extension. Click on 'My Account' again and then click the 'Edit' button. Change 'Asterisk Phone Extension' to your Asterisk extension. I am using extension 102 (my Windows XP computer's soft phone). Click 'Save' at the bottom of the page to save that information.
Let's add a couple more contacts. Click on the contacts tab and then select 'Create Contact' from the left hand Shortcuts menu.
I start by adding my other extensions as contacts:
Last name: Cordless
Office phone: 111
Save
Add another:
Last name: GrandStream (my Grandstream
SIP phone)
Office phone: 101
Save
Add another:
First name: Chris
Last name: Sherwood
Office phone: (my cellular number)
At this point, I try calling one of my extensions by clicking on contacts, and then clicking on the little phone icon next to their name. It rings my soft phone x102 which I pick up, then dials extension 111. It works!
I won't go much into SugarCRM, but as you can see, it can be a very powerful tool. You can add multiple users who will each have their own settings/contacts/etc. You can also import from an external program such as Microsoft Outlook.
Upgrading SugarCRM:
Trixbox v2.2beta comes with version 4.5.0d of SugarCRM. As I am writing this, the latest version is v4.5.1b. Let's get it upgraded.
First, download the latest patch (v4.5.1b) from the SugarCRM website: http://www.sugarcrm.com/crm/download/sugar-suite.html. You want to download the 'Sugar Open Source Upgrade 4.5.0 to 4.5.1b' package
Log into SugarCRM as Admin and click on the 'Admin' tab. In the 'System' section, you should see the 'Upgrade Wizard.' Click on it.
The first step is a warning page advising you to back everything up and try this on a test system first...blah blah blah. What could possibly go wrong? I'm pushing forward. Click 'Next.'
It then checks permissions to make sure everything is OK. Click 'Next.'
Now it wants you to upload the latest patch (the one we just downloaded). Browse to it on your computer and click 'Upload Upgrade.' *** NOTE: You don't have to unzip the files...just browse to the .zip.
Once uploaded, it should show up in the middle section. Click 'Next.'
On the 'Preflight Check' step, just take all of the defaults and click 'Next.'
On the Commit Upgrade page, it should hopefully say 'The following upgrades have been installed:' and list the v4.5.1b patch. If so, then we are successful. Click 'Next.'
On the Debrief page, simply click 'Done.' That's it! Now when you go back to the admin page and check for updates, it should tell you that you have the latest available.
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 'Connect to Online Module Repository.' 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 8. Then click the radio button for 'Callback' and choose the Callback that you just set up.

Click 'Save' and then the red 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.
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 red bar and OK.
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.
17.3 - Trixbox to Trixbox IAX2 trunk
This section will explain how to connect two Trixboxes together. It assumes that you have 2 Trixbox v2.2 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 Trixbox.
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 red 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 red 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 red 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 red 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.
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 red apply bar and OK.
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: (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 voic