AsteriskAan de slag met Asterisk


Opmerkingen

Deze sectie geeft een overzicht van wat een asterisk is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen een asterisk vermelden en naar de gerelateerde onderwerpen verwijzen. Aangezien de documentatie voor asterisk nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Asterisk 14 installatie op Ubuntu 16.04 LTS

Voer het volgende bash-script uit als sudo

#!/bin/bash

# get deps
apt -y install build-essential libncurses5-dev libxml2-dev libsqlite3-dev libssl-dev libsrtp0-dev uuid-dev libjansson-dev

# download
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
tar -zxvf asterisk-14-current.tar.gz
rm asterisk-14-current.tar.gz
cd asterisk-14*

# Install pre-requisites
./contrib/scripts/install_prereq install
./contrib/scripts/install_prereq install-unpackaged
./contrib/scripts/get_mp3_source.sh

# Install
make clean
./configure
make menuselect
make
make install
make samples
make config

# Uncomment and edit the following lines to setup a snakeoil SSL cert
#mkdir /etc/asterisk/keys
#cd contrib/scripts/
# Change the following IP address to you server IP address 
#./ast_tls_cert -C 192.168.254.2 -O "My company name" -d /etc/asterisk/keys

# Edit the following to adjust locale of sounds
cd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en_GB-wav-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en_GB-wav-current.tar.gz

tar -xzf asterisk-core-sounds-en_GB-wav-current.tar.gz
tar -xzf asterisk-extra-sounds-en_GB-wav-current.tar.gz
rm *.tar.gz
 

asterisk-installatie op CentOS 6.X

Asterisk is een open source framework voor het bouwen van communicatie-applicaties. Je kunt het gebruiken voor een van de volgende dingen:

  1. IP PBX-systemen
  2. VoIP-gateways
  3. ISDN / 3G IVVR

Hier is een korte instructie voor stapsgewijze installatie van asterisk 1.8 (of u kunt doen voor de nieuwste versies) op Redhat / centos (voor andere Linux-versies zijn de opdrachten vergelijkbaar :)).

Stap 1: Haal de asterisk-broncodebestanden op van: Asterisk-downloads

Stap 2: Login als root en voer de commando's uit:

yum update

yum install joe gcc-c++ gcc-gnat gcc-g77 gcc-objc gcc autoconf automake bison flex cvs rpm-build openssl-devel SDL-devel 

yum install redhat-rpm-config sox sox-devel curl-devel  ncurses-devel net-snmp net-snmp-libs net-snmp-utils libxml2-devel gd-devel libpng-devel doxygen

yum install mysql-server mysql-devel // if needed 
chkconfig --level 345 mysqld on
service mysqld start
yum install php php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy //optional for web application 

yum install bind caching-nameserver
yum install system-config-date

cd /path/to/asterisk/
make clean
./configure
 

nu is de omgeving klaar om asterisk te installeren.

make menuselect // here from Add-ons check the app-mysql, cdr-mysql, res-config-mysql
make
make install

make config
chkconfig asterisk on
 

Stap 3: Verbinding maken met asterisk

asterisk -vvvvvvvvvvvvvvvvvvvc
stop now
service asterisk start
 

Stap 4: voeg nu het volgende toe in het bestand /etc/asterisk/cdr.conf (dynamische CDR-gegevensinvoeging in DB)

;csv
[mysql]
usegmtime=yes    ; log date/time in GMT.  Default is "no"
loguniqueid=yes  ; log uniqueid.  Default is "no"
loguserfield=yes ; log user field.  Default is "no"


and add the following in cdr_mysql.conf


[global]
hostname=localhost
dbname=your_asterisk_db
table=cdr
password=your_ast_pass
user=your_ast_user
;port=3306
;sock=/tmp/mysql.sock
;userfield=1
 

Stap 5: Maak uw DB en maak de CDR-tabel:

create table cdr( uniqueid varchar(32) NOT NULL default '', userfield varchar(255) NOT NULL default '', accountcode varchar(20) NOT NULL default '', src varchar(80) NOT NULL default '', dst varchar(80) NOT NULL default '', dcontext varchar(80) NOT NULL default '', clid 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 '', calldate datetime NOT NULL default '0000-00-00 00:00:00', 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' );

Stap 6: start de server eindelijk opnieuw op

asterisk -rvvvvv nu verbinding met asterisk met: asterisk -rvvvvv