Versione 11 del 2007-11-05 16:01:16

Nascondi questo messaggio
Italiano English
Modifica History Actions

Asterisk1.4

Install Asterisk 1.4 Branch with Asterisk GUI

This guide will show how to compile and install Asterisk 1.4.13 getting the sources from the Digium SVN repository.

As far as I know, no Linux distro comes with a packaged Asterisk 1.4.x, but this new version brings a lot of new features, such as the web configuration tool called AsteriskGUI.

Instead you could use AsteriskNow, but it does not come with the latest AsteriskGUI, and is not flexible as your own Linux Box.

In this guide I used my Gentoo Linux Box

Log in as root and... :

Backup

Remove any older Asterisk installation and backup your existing /etc/asterisk folder, we are going to make a big mess :)

Download the sources

cd /usr/src
svn co http://svn.digium.com/svn/asterisk/tags/1.4.13/ asterisk-1.4.13
svn co http://svn.digium.com/svn/asterisk-addons/tags/1.4.4/ asterisk-addons-1.4.4
svn co http://svn.digium.com/svn/asterisk-gui/trunk/ asterisk-gui

Compile

in each folder (follow the same order as source download):

./configure
make
make install
make samples

Optionally you can run make menuselect before make to customize your build

In the asterisk-gui run

make checkconfig

and follow the output of the command to tune the configuration files. You will need to run make checkconfig several times fixing one thing per time.

Run Asterisk

Now just run:

asterisk

and once started you might attach to the console this way:

asterisk -rvvvv

The web interface is here:

http://127.0.0.1:8088/asterisk/static/config/cfgbasic.html

To configure your account add a block in your /etc/asterisk/manager.conf

[admin]
secret = mysecret
read = system,call,log,verbose,command,agent,user,config,dtmf,reporting
write = system,call,log,verbose,command,agent,user,config,dtmf,reporting

Understading Asterisk 1.4 GUI

In asterisk 1.2 we had in the sip.conf stuff like this:

register =>  username:password@sip.messagenet.it:5061/EXTENSION

If you are configuring with the web GUI, go to the advanced options and fill the field "contact" with EXTENSION you had in the register line of Asterisk 1.2

Now go to "Incoming Calls" and create a Rule that matches your "contact".

Also, there is a bug in the scripts of the GUI. If you have many accounts from the same provider, the the "Incoming Calls" form you always have to specify the last one on the list.

Asterisk will always match the first [Trunk] that shows up typing int he console sip show peers

MYSQL CDR Logs

For this section it is supposed that you have a basic MySQL knowledge

Create a asterisk.sql file like this:

CREATE DATABASE asterisk;

GRANT INSERT
  ON asterisk.*
    TO asterisk@localhost
      IDENTIFIED BY 'yourpassword';

      USE asterisk;

      CREATE TABLE `cdr` (
      `calldate` datetime NOT NULL default '0000-00-00 00:00:00',
      `clid` varchar(80) NOT NULL default '',
      `src` varchar(80) NOT NULL default '',
      `dst` varchar(80) NOT NULL default '',
      `dcontext` varchar(80) NOT NULL default '',
      `channel` varchar(80) NOT NULL default '',
      `dstchannel` varchar(80) NOT NULL default '',
      `lastapp` varchar(80) NOT NULL default '',
      `lastdata` varchar(80) NOT NULL default '',
      `duration` int(11) NOT NULL default '0',
      `billsec` int(11) NOT NULL default '0',
      `disposition` varchar(45) NOT NULL default '',
      `amaflags` int(11) NOT NULL default '0',
      `accountcode` varchar(20) NOT NULL default '',
      `userfield` varchar(255) NOT NULL default ''
      );

      ALTER TABLE `cdr` ADD INDEX ( `calldate` );
      ALTER TABLE `cdr` ADD INDEX ( `dst` );
      ALTER TABLE `cdr` ADD INDEX ( `accountcode` );

Change the password in the file and then simply

mysql -u root -p < asterisk.sql

Now edit {/etc/asterisk/cdr_mysql.conf :

[global]
hostname=localhost
dbname=asterisk
table=cdr
password=password
port=3306
sock=/tmp/mysql.sock
userfield=1

You have to kill asterisk and restart it, a reload from the console is not enough in this case.