Asterisk+freePbx+A2Billing搭建企业VOIP通讯平台

 Asterisk + FreePBX + A2Billing安装

计划:最小化安装Linux—〉安装所需Package—〉 安装Asterisk —〉安装Apache/mySql-- >安装FreePBX->安装A2Billing

我用一台VMwave 6.0

安装linux (Fedora 8)在选Package时,要选最下面的Minimal。另外,顺便也把IP地址等一并设好。禁止Selinux


好了开始安装所需依赖Packages:
yum -y install httpd gcc gcc-c++ libxml2-devel libtiff-devel mysql-server php-gd php-mysql kernel-devel bison ncurses-devel

audiofile-devel subversion libogg-devel openssl-devel php-cli php-pear php mysql-devel

安装pearDB for freepbx
pear install DB

下载安装包
mkdir /usr/asterisk
cd /usr/asterisk
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.18.1.tar.gz
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.6.tar.gz
wget http://mirror.freepbx.org/freepbx-2.4.0.tar.gz

mkdir /usr/asterisk/A2Billing
cd /usr/asterisk/A2Billing
wget http://a2billing.net/downloads/A2Billing_1.3.2.tar.gz

解压下载的包:
#asterisk 1.4.0:
cd /usr/asterisk
tar -zxvf asterisk-1.4.18.1.tar.gz
mv asterisk-1.4.18.1 asterisk

#addons 1.4.6
cd /usr/asterisk
tar -zxvf asterisk-addons-1.4.6.tar.gz
mv asterisk-addons-1.4.6 asterisk-addons

#freepbx-2.4.0.tar.gz:
cd /usr/asterisk
tar -zxvf freepbx-2.4.0.tar.gz
mv freepbx-2.4.0 freepbx

#A2Billing_1.3.2.tar.gz:
cd /usr/asterisk/A2Billing
tar -zxvf A2Billing_1.3.2.tar.gz
mv A2Billing_1.3.2 A2Billing


建立操作系统asterisk用户
useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk
mkdir /var/run/asterisk
mkdir /var/log/asterisk
chown -R asterisk:asterisk /var/run/asterisk
chown -R asterisk:asterisk /var/log/asterisk
chown -R asterisk:asterisk /var/lib/php/session/

配置httpd.conf文件
sed -i "s/User apache/User asterisk/" /etc/httpd/conf/httpd.conf
sed -i "s/Group apache/Group asterisk/" /etc/httpd/conf/httpd.conf
sed -i "s/AllowOverride None/AllowOverride All/" /etc/httpd/conf/httpd.conf


开始安装:
#asterisk
cd /usr/asterisk/asterisk
./configure
make menuselect
make install
make samples

#addons
cd /usr/sterisk/asterisk-addons
./configure
make clean
make
make install

vi /etc/asterisk/modules.conf
load => cdr_addon_mysql.so

vi /etc/asterisk/cdr_mysql.conf

运行mysqld start
/etc/init.d/mysqld start


建立Asterisk数据库和数据库用户
cd /usr/asterisk/freepbx
mysqladmin create asterisk
mysqladmin create asteriskcdrdb
mysql asterisk < SQL/newinstall.sql
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql
mysql
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@'%' IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@'%' IDENTIFIED BY 'amp109';
flush privileges;
/q

修改mysql的root用户密码
mysqladmin -u root password 'newpassword'

运行asterisk
safe_asterisk            [安全启动]
asterisk -vvvvr          [连接到控制台]
/usr/sbin/asterisk start [直接启动]

修改asterisk.conf文件
vi /etc/asterisk/asterisk.conf
astrundir => /var/run/asterisk

安装Freepbx
cd /usr/asterisk/freepbx
./install_amp --force-version=2.4.0 -uasteriskuser -pamp109

notify_warning.png
设置启动项
echo "/usr/local/sbin/amportal start" >> /etc/rc.local
chkconfig httpd on       [设置apache服务器httpd服务开机启动]
chkconfig mysqld on      [设置mysql服务开机启动]

修改ARI密码
vi /var/www/html/recordings/includes/main.conf.php
$ari_admin_password = "newpassword"

设置freepbx管理验证模式
vi /etc/amportal.conf
AUTHTYPE=database

设置freepbx 配置device与user分开
vi /etc/amportal.conf
AMPEXTENSIONS=deviceanduser

检查freepbx对应的/etc/asterisk/下的配置文件是否正确
如:sip.conf iax.conf extensions.conf等文件

修改apache的配置文件[修改默认字符]
vi /etc/httpd/conf/httpd.conf
AddDefaultCharset off

修改php.ini文件
vi /etc/php.ini
register_globals = On

安装A2Billing
建立数据库
cd /usr/asterisk/A2Billing/
mysql mysql -uroot -ppassword
>GRANT ALL PRIVILEGES ON mya2billing.* TO 'a2billinguser'@'%' IDENTIFIED BY 'a2billing' WITH GRANT OPTION;  //security

issue
>GRANT ALL PRIVILEGES ON mya2billing.* TO 'a2billinguser'@'localhost' IDENTIFIED BY 'a2billing' WITH GRANT OPTION;
>GRANT ALL PRIVILEGES ON mya2billing.* TO 'a2billinguser'@'localhost.localdomain' IDENTIFIED BY 'a2billing' WITH GRANT

OPTION;
>/q
mysqladmin create mya2billing -u a2billinguser -pa2billing

导入脚本
cd ./DataBase/mysql/Mysql-5.x/
mysql mya2billing -u a2billinguser -pa2billing < a2billing-mysql-schema-MYSQL.5.X-v1.3.0.sql

校验数据库
mysql mya2billing -u a2billinguser -pa2billing
>SELECT * FROM cc_ui_authen;

cp /usr/asterisk/A2Billing/a2billing.conf /etc/asterisk/

vi /etc/asterisk/a2billing.conf
注意修改database段

安装管理界面A2Billing_UI
cp -rf /usr/asterisk/A2Billing/A2Billing_UI /var/www/html/
cd /var/www/html/A2Billing_UI
chmod 777 templates_c

vi /etc/asterisk/a2billing.conf
注意webui部分

chmod 777 /etc/asterisk
mkdir /var/lib/asterisk/mohmp3/acc_1
mkdir /var/lib/asterisk/mohmp3/acc_2
mkdir /var/lib/asterisk/mohmp3/acc_3
mkdir /var/lib/asterisk/mohmp3/acc_4
mkdir /var/lib/asterisk/mohmp3/acc_5
mkdir /var/lib/asterisk/mohmp3/acc_6
mkdir /var/lib/asterisk/mohmp3/acc_7
mkdir /var/lib/asterisk/mohmp3/acc_8
mkdir /var/lib/asterisk/mohmp3/acc_9
mkdir /var/lib/asterisk/mohmp3/acc_10
chmod 777 /var/lib/asterisk/mohmp3/acc_*

mkdir /var/lib/asterisk/sounds/a2billing
chmod 777 /var/lib/asterisk/sounds/a2billing

vi /etc/asterisk/sip.conf
最后添加#include additional_a2billing_sip.conf

vi /etc/asterisk/iax.conf
最后添加#include additional_a2billing_iax.conf

vi /etc/asterisk/manager.conf
修改
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
;displayconnects = yes
增加
[myasterisk]
secret = mycode
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user

vi /etc/asterisk/musiconhold.conf
最后添加
; class definitions For A2Billing
acc_1 => mp3:/var/lib/asterisk/mohmp3/acc_1
acc_2 => mp3:/var/lib/asterisk/mohmp3/acc_2
acc_3 => mp3:/var/lib/asterisk/mohmp3/acc_3
acc_4 => mp3:/var/lib/asterisk/mohmp3/acc_4
acc_5 => mp3:/var/lib/asterisk/mohmp3/acc_5
acc_6 => mp3:/var/lib/asterisk/mohmp3/acc_6
acc_7 => mp3:/var/lib/asterisk/mohmp3/acc_7
acc_8 => mp3:/var/lib/asterisk/mohmp3/acc_8
acc_9 => mp3:/var/lib/asterisk/mohmp3/acc_9
acc_10 => mp3:/var/lib/asterisk/mohmp3/acc_10

测试看看
http://localhost/A2billing_UI/index.php
login=root, pass=myroot or login=admin, pass=mypassword

安装客户管理界面A2BCustomer_UI
cp -rf /usr/asterisk/A2Billing/A2BCustomer_UI /var/www/html/
cd /var/www/html/A2BCustomer_UI
chmod 777 templates_c

安装 AGI components
cd /usr/asterisk/A2Billing/A2Billing_AGI  
cp a2billing.php /var/lib/asterisk/agi-bin/
cp -rf libs_a2billing /var/lib/asterisk/agi-bin/
chmod +x /var/lib/asterisk/agi-bin/a2billing.php

cp  /usr/asterisk/A2Billing/addons/sounds/* /var/lib/asterisk/sounds/
cp  /usr/asterisk/A2Billing/addons/sounds/en/* /var/lib/asterisk/sounds/

配置AGI
vi /etc/asterisk/a2billing.conf
 [agi-confX] 可以配置多个段如 "agi-conf1", "agi-conf2",

配置 run asterisk2billing into Asterisk
vi /etc/asterisk/extensions.conf
增加
#include "extensions_custom.conf"

[a2billing]
; CallingCard application
exten => _X.,1,Answer
exten => _X.,2,Wait,2
exten => _X.,3,DeadAGI,a2billing.php
exten => _X.,4,Wait,2
exten => _X.,5,Hangup

vi /etc/asterisk/extensions_custom.conf
在[from-internal-custom]下增加
;asterisk2billing application
exten => _X.,1,Answer
exten => _X.,2,Wait,2
exten => _X.,3,DeadAGI,a2billing.php
exten => _X.,4,Wait,2
exten => _X.,5,Hangup
;You can replace above the _X. by a number if you want to set the application over a specific extension.


打开浏览器,到:
http://localhost/  看到FreePBX 首页
http://localhost/A2BCustomer_UI/ 看到A2BCustomer 首页
http://localhost/A2BBilling_UI/ 看到A2BBilling_UI 首页

http://bugs.digium.com/file_download.php?file_id=10131&type=bug

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值