Asterisk pbx系统安装配置手册 10.docx
《Asterisk pbx系统安装配置手册 10.docx》由会员分享,可在线阅读,更多相关《Asterisk pbx系统安装配置手册 10.docx(10页珍藏版)》请在冰豆网上搜索。
Asteriskpbx系统安装配置手册10
Asteriskpbx系统安装配置手册1.0
一:
系统及安装包选择
1.1操作系统:
CentOS。
必须选上mysql相关的所有选项,其他的按照默认即可。
由于安装asterisk-addons中需要使用mysqlclient,需要另外安装一个
mysql-devel-5.0.37-2.fc7.i386.rpm,否则会有无法找到mysql.h的错误。
安装方法:
rpm-ivhmysql-devel-5.0.37-2.fc7.i386.rpm.
至此,系统平台搭建完毕,基于此系统下,以后的编译一般不会有问题。
1.2asterisk相关包
主程序:
asterisk-1.4.11
会议定时相关:
zapatel-1.4.5.1
以及asterisk-addons-1.4.2,asterisk-sounds-1.2.1,asteriskgui,astbill-0.9.22.
1.2.1zaptel-1.4.5.1安装
Zaptel的安装必须在主程序之前,这样在编译主程序的时候就能够找到ztdummy,才能够选择编译会议相关功能。
进入zaptel目录:
-Makeclean
-./configure
-Makemenuselect
这里记得选上KernelModules中的全部选项,其他的采用默认选项。
-make
-makeinstall.
1.2.2asterisk-1.4.11安装
进入asterisk目录:
-makeclean
-./configure
-makemenuselect
Application中的全部选中,DialplanFunctions除odbc相关其他能选的全部选上,其余默认。
-make
-makeinstall
-makesamples
Asterisk-addons和asterisk-sounds的安装基本差不多。
1.2.3asteriskgui安装
gui源码获取。
进入目录:
-./configure
-make
-makeinstall
1.2.4astbill安装
源码下载。
Astbill需要的支持比较多,有mysql,perl,apache等,这在我们搭建系统的时候就已经完成了,所以无需再考虑。
进入目录,然后chmod+xinstall.sh
-./install.sh
为astbill准备数据库,请参考安装包当中的文档installmysql.txt
注意,astbill的安装会覆盖/etc/asterisk目录下的asterisk相关配置文件,请备份!
!
安装完后,在/usr/sbin下运行./safe_asterisk加载系统。
二.配置
2.1asterisk基本配置文件
Asterisk的配置文件都在/etc/asterisk目录下,重要的配置文件有:
sip.conf sip电话基本配置
extensions.conf 拨号规则
voicemail.conf 配置语音信箱
meetme.conf 会议室
http.conf web界面相关
manager.conf web界面相关
asterisk.conf asterisk目录的配置
cdr_mysql.conf 详单数据库
res_mysql.conf mysql数据库设置
features.conf 自定义按键配置,同时还有一些系统默认的功能键
modules.conf 定义系统启动时加载的模块
logger.conf 日志
下面简单介绍一下这几个文件的配置,当然只给出最简单的配置,如需更深入的了解,请参考系统给出的样本配置。
下面的配置如无特别提出,请在系统的样本配置末端加入。
2.1.1sip.conf
[101]
type=friend;
secret=101;
host=dynamic; //需要注册到服务器
context=default;
username=101;
;callgroup=1; //组设置
;pickupgroup=1;
mailbox=101@default //语音信箱
[102]
type=friend;
secret=102;
host=dynamic
context=default;
username=102;
;callgroup=1;
;pickupgroup=1;
mailbox=102@default
[ServerA] //声明另一个asterisk服务器,可以在拨号规则中呼叫
;pickupgroup=1;
type=friend
secret=
username=ServerA
fromuser=ServerA
context=default;
insecure=very;
authname=ServerA
canreinvite=no
host=192.168.52.19//对端服务器ip地址
2.1.2extensions.conf
[default]
include=>DID //包含DIDcontext
include=>featuremap //可以使用features.conf中定义的功能
include=>parkedcalls//支持callpark
exten=>1000,1,saydigits(${EXTEN})
exten=>1000,2,Set(DYNAMIC_FEATURES=testfeature#musichold#record#unrecord)
exten=>1000,3,background(hello-world)
exten=>1000,4,waitexten(10,m)
exten=>i,1,playback(pbx-invalid)
exten=>i,2,goto(default,1000,1)
exten=>t,1,playback(vm-goodbye)
exten=>t,2,hangup()
exten=>1,1,goto(internal,s,1)
exten=>_9.,1,goto(out-bound,s,1) //拨9呼外线,需另外写out-boundcontext。
exten=>500,1,voicemailmain() //收听语音信箱内容
exten=>500,2,hangup()
exten=>1234,1,meetme(,IpM) //拨500加入会议,会提示输入会议号和密码
exten=>_5XXX,1,Dial(SIP/ServerA/${EXTEN:
1},30,r)//拨5呼叫serverA下的用户
exten=>_5XXX,2,Answer()
exent=>_5XXX,3,hangup()
[internal]
include=>featuremap
include=>parkedcalls
exten=>s,1,Ringing
exten=>s,n,wait,2
exten=>s,n,background(enter-ext-of-person)
exten=>s,n,waitexten(10,m)
exten=>_1XX,1,wait(3)
exten=>_1XX,2,Set(DYNAMIC_FEATURES=testfeature#musichold#record#unrecord)
exten=>_1XX,3,Dial(SIP/${EXTEN},10,tTwW)
exten=>_1XX,4,playback(vm-nobodyavail)
exten=>_1XX,5,voicemail(u${EXTEN}@default)//超时5秒转语音信箱
exten=>_1XX,6,hangup()
exten=>_1XX,104,playback(tt-busy)
exten=>_1XX,105,voicemail(b${EXTEN}@default)//用户忙转语音信箱
2.1.3voicemail.conf
[default]
101=>101,101,101@
102=>102,102,102@
为101,102两个用户声明语音信箱。
后面的地址没有关系,关键是@前面的用户名和密码。
2.1.4meetme.conf
[rooms]
conf=>1001,1111,2222声明会议室号1001,普通用户进入密码1111,管理员密码2222。
2.1.5http.conf,manager.conf
如要使用web功能,在这两http.conf中设置:
enabled=yes
enablestatic=yes
在manager.conf中设置:
[general]
displaysystemname=yes
enabled=yes
webenabled=yes
port=5038
[administrator] //添加asteriskgui用户
secret=123456
read=system,call,log,verbose,command,agent,user,config
write=system,call,log,verbose,command,agent,user,config
[astbillman] //添加astbill用户
secret=ab87AstBtii3
deny=0.0.0.0/0.0.0.0
;permit=81.229.203.216/255.255.255.255
permit=127.0.0.1/255.255.255.255
read=system,call,log,verbose,command,agent,user
write=system,call,log,verbose,command,agent,user
2.1.6cdr_mysql.conf
[global]
hostname=localhost //数据库在asterisk运行的本机上
dbname=asteriskcdrdb
table=cdr
password=password
user=asteriskcdruser
port=3306
sock=/var/lib/mysql/mysql.sock
userfield=1
在每次通话结束后,运行mysql,使用asteriskcdrdb数据库就能看到在cdr表下产生的话单。
2.1.7res_mysql.conf
[general]
dbhost=localhost //astbill数据库
dbname=astbill
dbuser=astbilluser
dbpass=astbill419
dbport=3306
dbsock=/var/lib/mysql/mysql.sock
2.1.8features.conf
[featuremap]
blindxfer=>## ;Blindtransfer (defaultis#)
;disconnect=>*0 ;Disconnect (defaultis*)
automon=>*1 ;OneTouchRecorda.k.a.TouchMonitor
;atxfer=>*2 ;Attendedtransfer
;parkcall=>#72 ;Parkcall(onestepparking)
testfeature=>#9 //以下为自定义功能
musichold=>#8
record=>#1
unrecord=>#2
[applicationmap]
musichold=>#8,peer,MusicOnHold,default
record=>#1,peer,Monitor //按下#1键开始录音
unrecord=>#2,peer,StopMonitor //按下#2键停止录音
testfeature=>#9,peer,Playback,tt-monkeys //按下#9播放tt-monkeys,kidding.
2.1.9logger.conf
[logfiles]
debug=>debug
console=>notice,warning,error
messages=>notice,warning,error //都是设置要输出的信息。
保存在/var/log/asterisk下。
生活
1条评论
--[if!
supportLists]-->· Trixbox的web操作界面,只是一个外壳,本质上,需要理解/etc/asterisk目录下面的配置文件,才能理解问题出在了哪里?
--[endif]-->
在配置N个会议室,需要在文件meetme.conf中配置N个会议室,例如:
conf=>1234
就配置了会议室1234。
要配置多个,就在这里加上多个行,如。
conf=>1235
再在extensions.conf文件中,加上这个会议室的号码,比如:
[default]
exten=>8600,1,Meetme(1234|p)
这样配置了后,重新asterisk,或者说reload配置。
这样SIP电话一拔8600,就进入了会议室1234。