|
Trixbox v2.0 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.0 for a small business. It includes information on how to set up extensions, incoming and outgoing phone calls, and other useful applications. SureTeq is 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!
To download the PDF version of this document, please click here. 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.0 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 - Polycom Central Server configuration 8.5 - 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 - SellVOIP 9.5 - 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 1.0 - Hardware platform used in the creation of this document Installing on a Dell Dimension 9150 Intel 630 CPU (3.0GHz) 1GB RAM Zaptel card: Digium Developer’s kit (TDM 400P with 4 FXO modules) Vonage line connected to one of the FXO modules
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.0
Download the Trixbox v2.0 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.0 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. *** NOTE: If you are using the VMWARE version of Trixbox v2.0, the default root password is 'password'. 3.0 - Setting up your server
3.1 - Network configuration Set up IP address information by typing netconfig. 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: http://192.168.200.16:10000 (obviously, replace my IP with your Trixbox IP) 4.0 - Zaptel Driver 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. 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: http://www.sureteq.com/asterisk/trixbox.htm#4.0_-_Zaptel_Issues

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.’ 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. 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.13 (etc.) currently running on asterisk1 Verbosity is at least 3 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' and it will place you into Admin Mode. You can then log into the Trixbox site using your Trixbox.org username and password (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.0rc3 (the Trixbox v2.0 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. 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 Direct DID: <blank> DID Alert Info: <blank> Outbound CID: <blank> Emergency CID: <blank> Channel: 1 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. 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.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.0 now comes with 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 (I believe 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. Mouseover 'Asterisk' and then select '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.' OOPS - I got an error stating that it could not create the config file. I need to go to the command line and run 'setup-grandstream.' This will download the latest updates and firmware for my Grandstream phones. 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.0 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 = 180 (Not sure exactly how this works, even though my time zone is PST (or -8 GMT), 180 minutes set here made it accurate). # Daylight Savings Time. 0 - no, 1 - yes P75 = 1 # 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, reboot the phone to apply them. 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:  << back
|