Archive:FreePBX Distribution: Difference between revisions
>Samthecrazyman Saved so far |
>Samthecrazyman Page created |
||
Line 1: | Line 1: | ||
Asterisk VoIP server is a fully fledged VoIP allowing complete customisation to your needs and works with most setups. It has a web GUI that is slowly being developed to make implementation even easier for people. | Asterisk VoIP server is a fully fledged VoIP allowing complete customisation to your needs and works with most setups. It has a web GUI that is slowly being developed to make implementation even easier for people. | ||
On the server, we have implemented Asterisk 11.x series. This is a very new version of Asterisk but is also a LTS release so will be supported well into the future with fixes. We are also using the Web GUI from the Subversion repository to make sure it is up to date. | On the server, we have implemented Asterisk 11.x series. This is a very new version of Asterisk but is also a LTS release so will be supported well into the future with fixes (slated to be supported until 2016). We are also using the Web GUI from the Subversion repository to make sure it is up to date. | ||
== Packages Required == | == Packages Required == | ||
Line 62: | Line 62: | ||
# Run from the terminal <code>make</code>. This will only take a moment, this step builds the packages for your computer. | # Run from the terminal <code>make</code>. This will only take a moment, this step builds the packages for your computer. | ||
# Run from the terminal <code>make install</code> This step actually installs the packages on the computer. Keep this Terminal window open as we will need this later to check the configuration. | # Run from the terminal <code>make install</code> This step actually installs the packages on the computer. Keep this Terminal window open as we will need this later to check the configuration. | ||
# Open File Manager - Super User Mode. Then | # Open File Manager - Super User Mode. Then go to <code>/etc/asterisk</code> and open <code>http.conf</code> with KWrite. | ||
# Comments in Asterisk configurations are marked with <code>;</code>. Make sure <code>enabled = yes</code>, <code>bindaddr = 127.0.0.1</code>, <code>bindport = 8088</code> and <code>enablestatic = yes</code> are uncommented. <code>bindaddr = 127.0.0.1</code> can be adjusted to the IP address you'd like to access the GUI from. By default this is only the server itself for security. To allow access from any IP, you can change this to <code>bindaddr = 0.0.0.0</code>. <code>bindport</code> can be change to your preference too. Once you have finished, save the file. | # Comments in Asterisk configurations are marked with <code>;</code>. Make sure <code>enabled = yes</code>, <code>bindaddr = 127.0.0.1</code>, <code>bindport = 8088</code> and <code>enablestatic = yes</code> are uncommented. <code>bindaddr = 127.0.0.1</code> can be adjusted to the IP address you'd like to access the GUI from. By default this is only the server itself for security. To allow access from any IP, you can change this to <code>bindaddr = 0.0.0.0</code>. <code>bindport</code> can be change to your preference too. Once you have finished, save the file. | ||
# Open from the File Manager <code>manager.conf</code> with KWrite. Make sure that <code>enabled = no</code> is changed to <code>enabled = yes</code>. Uncomment <code>webenabled = yes</code>, <code>port = 5038</code> and <code>bindaddr = 0.0.0.0</code>. | # Open from the File Manager <code>manager.conf</code> with KWrite. Make sure that <code>enabled = no</code> is changed to <code>enabled = yes</code>. Uncomment <code>webenabled = yes</code>, <code>port = 5038</code> and <code>bindaddr = 0.0.0.0</code>. | ||
# We need to add a user to this file. This is the admin user to the Web GUI. Add the following to the bottom of the file. <> denotes a field to change to your preference:<br><code>[<admin>]</code><br><code>secret = <your-password-here></code><br><code>read = all</code><br><code>write = all</code><br>Once you have added your user, save the file. | # We need to add a user to this file. This is the admin user to the Web GUI. Add the following to the bottom of the file. <> denotes a field to change to your preference:<br><code>[<admin>]</code> (This is the admin username)<br><code>secret = <your-password-here></code><br><code>read = all</code><br><code>write = all</code><br>Once you have added your user, save the file. | ||
# For the Web GUI to access the files, we need to give the permissions to Asterisk. Select all the files in the folder with Ctrl+A. Right click on any file and click Properties. On the permissions tab, change the user to <code>asterisk</code> and the group to <code>asterisk</code> then click OK. This will need to be done to the asterisk folder in <code>/etc</code> too. | # For the Web GUI to access the files, we need to give the permissions to Asterisk. Select all the files in the folder with Ctrl+A. Right click on any file and click Properties. On the permissions tab, change the user to <code>asterisk</code> and the group to <code>asterisk</code> then click OK. This will need to be done to the asterisk folder in <code>/etc</code> too. | ||
# In the File Manager, goto <code>/usr/share/asterisk</code>. There should be a folder called <code>static-http</code>. Delete this folder as this is no longer needed. | # In the File Manager, goto <code>/usr/share/asterisk</code>. There should be a folder called <code>static-http</code>. Delete this folder as this is no longer needed. | ||
# Right click in a space in the folder. Goto Create New > then Basic link to file or directory... In the File name:, type <code>static-http</code>. In the Enter path to file or directory:, type or find <code>/var/lib/asterisk/static-http/</code>. | # Right click in a space in the folder. Goto Create New > then Basic link to file or directory... In the File name:, type <code>static-http</code>. In the Enter path to file or directory:, type or find <code>/var/lib/asterisk/static-http/</code>. | ||
# In the File Manager, goto <code>/var/lib/asterisk/</code>. Right-click on the folder and change the permissions to asterisk once again. Tick the Apply changes to all | # In the File Manager, goto <code>/var/lib/asterisk/</code>. Right-click on the folder and change the permissions to asterisk once again. Tick the Apply changes to all sub-folders and their contents. check box and click OK. | ||
# Now go back to the Terminal prompt left open. Run <code>service asterisk restart</code> to restart Asterisk and enable the Web GUI. Run <code>make checkconfig</code>. This will check all your settings you have changed and make sure it is all working. If it says there are any problems, follow what it says to find the problem. | # Now go back to the Terminal prompt left open. Run <code>service asterisk restart</code> to restart Asterisk and enable the Web GUI. Run <code>make checkconfig</code>. This will check all your settings you have changed and make sure it is all working. If it says there are any problems, follow what it says to find the problem. | ||
== Using the Web GUI for the first time == | |||
# Once it has all been installed and Asterisk restarted, it can be accessed from http://127.0.0.1:8088/static/config/index.html in your web browser. Type in the user name and password you added to <code>manager.conf</code> earlier. You should now be presented with Asterisk's status page. | |||
== Troubleshooting == | |||
* If after logging in, the browser loops checking Extensions.conf, this means there is a permissions problem somewhere. Double check you have made all the files accessible to the asterisk user and group. | |||
* If after logging in, the browser stops at Checking write permissions for GUI folder, the basic link was not created properly during the installation. Make sure the basic link is created properly and pointing to the right place. |
Revision as of 21:34, 26 March 2013
Asterisk VoIP server is a fully fledged VoIP allowing complete customisation to your needs and works with most setups. It has a web GUI that is slowly being developed to make implementation even easier for people.
On the server, we have implemented Asterisk 11.x series. This is a very new version of Asterisk but is also a LTS release so will be supported well into the future with fixes (slated to be supported until 2016). We are also using the Web GUI from the Subversion repository to make sure it is up to date.
Packages Required
To implement the system, the following packages are required:
- tftp
- yast2-tftp-server
- subversion
- make
- gcc
- gcc-c++
From Asterisk repository (http://download.opensuse.org/repositories/network:/telephony:/asterisk-11/openSUSE_12.3/)
- asterisk
- asterisk-console
- asterisk-dahdi
- libasteriskssl1
- Checkout latest revision from http://svn.asterisk.org/svn/asterisk-gui/branches/2.0/ for Web GUI.
Installing the TFTP server
The TFTP server is what hard-phones use to download the settings files from the server. This step is not required if your not using hard-phones.
- Install from YaST both the
tftp
andyast2-tftp-server
packages. - Run from YaST under Network Services "TFTP Server".
- Change the toggle box to Enabled. This will make the TFTP server start at start-up. Then click OK.
- Files for the hard-phones can then be dropped into
/srv/tftpboot/
.
Installing the Asterisk server
- From YaST, select Software Management. Once this has started, select from the top menu Configuration and then click Repositories.
- When the Repositories screen comes up, click Add. Make sure Specify URL... and Download repository description files are both checked then select Next.
- In Repository Name, type Asterisk 11. In URL, you will need the following URL: http://download.opensuse.org/repositories/network:/telephony:/asterisk-11/openSUSE_12.3/. Change the openSUSE version at the end of the link to your version of openSUSE. Then click Next.
- Click OK to return to the Software Management screen. It will ask you if you trust the key from this repository. This is an openSUSE project so make sure you push Trust.
- If you haven't used the Repositories filter before, you will need to click the View drop-down menu above the search box and then click Repositories. This will create a new Repositories tab and you won't have to do this step again. If you already have the Repositories tab, you can just click the tab.
- Find the Asterisk 11 repository that you just added from the list and click on it.
- Tick the packages that need to be installed from above in the Packages Required section above.
- NOTE: When you try to add
asterisk-dahdi
, it will currently say that it is unable to find a package to fulfil its requirements. It is safe to ignore this requirement with the bottom toggle box. This package is only needed to make the Web GUI work. - Click Accept to install the packages. This will install the Asterisk server.
- When back in the YaST control panel, under System run System Services (Runlevel).
- Wait until all the ??? next to the services have changed to Yes or No.
- Find the asterisk (Asterisk PBX) service (this should be towards the top of the list) and click the line.
- Click Enable. No should change to Yes*. Then click OK.
- It will now say 'Now the changes to runlevels will be saved.' Click Yes. This has just started the Asterisk server and made it start on each boot.
- To check that Asterisk is running, open a Terminal prompt and su as root. Run
asterisk -rvvv
and it should open a new command prompt for Asterisk. You can then type exit and exit the Terminal. - If this says 'Cannot find remote Asterisk server', it may not have started or may not have installed properly. Type
service asterisk start
into the Terminal prompt. If you get no errors, it should have started and you can try the previous step again. If it says it can't find the service, it may not have installed properly and needs reinstalling again.
Installing the Web GUI
The Web GUI allows simple administration of the Asterisk server without fiddling around manually changing the contents of the folder.
- Make sure
subversion
is installed through YaST. - Open a Terminal prompt and su as root. Change directory to a folder to download the Web GUI software to.
- Run
svn co http://svn.asterisk.org/svn/asterisk-gui/branches/2.0/
. This will download the latest development snapshot of the Web GUI software. - Change directory to the new folder
2.0
- Run from the terminal
./configure
. This will only take a moment, this step configures the package for your computer. - Run from the terminal
make
. This will only take a moment, this step builds the packages for your computer. - Run from the terminal
make install
This step actually installs the packages on the computer. Keep this Terminal window open as we will need this later to check the configuration. - Open File Manager - Super User Mode. Then go to
/etc/asterisk
and openhttp.conf
with KWrite. - Comments in Asterisk configurations are marked with
;
. Make sureenabled = yes
,bindaddr = 127.0.0.1
,bindport = 8088
andenablestatic = yes
are uncommented.bindaddr = 127.0.0.1
can be adjusted to the IP address you'd like to access the GUI from. By default this is only the server itself for security. To allow access from any IP, you can change this tobindaddr = 0.0.0.0
.bindport
can be change to your preference too. Once you have finished, save the file. - Open from the File Manager
manager.conf
with KWrite. Make sure thatenabled = no
is changed toenabled = yes
. Uncommentwebenabled = yes
,port = 5038
andbindaddr = 0.0.0.0
. - We need to add a user to this file. This is the admin user to the Web GUI. Add the following to the bottom of the file. <> denotes a field to change to your preference:
[<admin>]
(This is the admin username)secret = <your-password-here>
read = all
write = all
Once you have added your user, save the file. - For the Web GUI to access the files, we need to give the permissions to Asterisk. Select all the files in the folder with Ctrl+A. Right click on any file and click Properties. On the permissions tab, change the user to
asterisk
and the group toasterisk
then click OK. This will need to be done to the asterisk folder in/etc
too. - In the File Manager, goto
/usr/share/asterisk
. There should be a folder calledstatic-http
. Delete this folder as this is no longer needed. - Right click in a space in the folder. Goto Create New > then Basic link to file or directory... In the File name:, type
static-http
. In the Enter path to file or directory:, type or find/var/lib/asterisk/static-http/
. - In the File Manager, goto
/var/lib/asterisk/
. Right-click on the folder and change the permissions to asterisk once again. Tick the Apply changes to all sub-folders and their contents. check box and click OK. - Now go back to the Terminal prompt left open. Run
service asterisk restart
to restart Asterisk and enable the Web GUI. Runmake checkconfig
. This will check all your settings you have changed and make sure it is all working. If it says there are any problems, follow what it says to find the problem.
Using the Web GUI for the first time
- Once it has all been installed and Asterisk restarted, it can be accessed from http://127.0.0.1:8088/static/config/index.html in your web browser. Type in the user name and password you added to
manager.conf
earlier. You should now be presented with Asterisk's status page.
Troubleshooting
- If after logging in, the browser loops checking Extensions.conf, this means there is a permissions problem somewhere. Double check you have made all the files accessible to the asterisk user and group.
- If after logging in, the browser stops at Checking write permissions for GUI folder, the basic link was not created properly during the installation. Make sure the basic link is created properly and pointing to the right place.