Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54511
  • 博文数量: 15
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-27 11:01
文章分类
文章存档

2008年(15)

我的朋友
最近访客

分类: BSD

2008-08-27 11:41:25


Asterisk pbx系统安装配置手册 1.0

 

一:系统及安装包选择

 

1.1操作系统: fedora 7。 必须选上mysql相关的所有选项,其他的按照默认即可。

由于安装asterisk-addons中需要使用mysqlclient,需要另外安装一个

mysql-devel-5.0.37-2.fc7.i386.rpm,否则会有无法找到mysql.h的错误。安装方法:

rpm -ivh mysql-devel-5.0.37-2.fc7.i386.rpm.

至此,系统平台搭建完毕,基于此系统下,以后的编译一般不会有问题。

 

1.2 asterisk相关包

主程序 : asterisk-1.4.11

会议定时相关: zapatel-1.4.5.1

以及 asterisk-addons-1.4.2asterisk-sounds-1.2.1,asteriskgui,astbill-0.9.22.

 

1.2.1 zaptel-1.4.5.1安装

 

Zaptel的安装必须在主程序之前,这样在编译主程序的时候就能够找到ztdummy,才能够选择编译会议相关功能。

进入zaptel目录:

-Make clean

-./configure

-Make menuselect

这里记得选上Kernel Modules中的全部选项,其他的采用默认选项。

-make

-make install.

 

1.2.2 asterisk-1.4.11安装

 

进入asterisk目录:

-make clean

-./configure

-make menuselect

Application中的全部选中,Dialplan Functionsodbc相关其他能选的全部选上,其余默认。

-make

-make install

-make samples

 

Asterisk-addonsasterisk-sounds的安装基本差不多。

 

 

 

1.2.3 asteriskgui 安装

 

gui源码获取。

进入目录:

-./configure

-make

-make install

 

1.2.4 astbill 安装

 

  源码下载。

 

Astbill需要的支持比较多,有mysqlperlapache等,这在我们搭建系统的时候就已经完成了,所以无需再考虑。

 

进入目录,然后 chmod +x install.sh

./install.sh

astbill准备数据库,请参考安装包当中的文档 installmysql.txt

注意,astbill的安装会覆盖/etc/asterisk目录下的asterisk相关配置文件,请备份!!

 

安装完后,在/usr/sbin下运行./safe_asterisk加载系统。

 

二. 配置

 

2.1 asterisk 基本配置文件

 

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.1 sip.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.2 extensions.conf

 

[default]

include => DID  //包含DID context

include => featuremap  //可以使用features.conf中定义的功能

include => parkedcalls //支持call park

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-bound context

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.3 voicemail.conf

 

[default]

 

101 => 101,101,101@asterisk.com

102 => 102,102,102@asterisk.com

101102两个用户声明语音信箱。 后面的地址没有关系,关键是@前面的用户名和密码。

 

2.1.4 meetme.conf

 

[rooms]

 

conf => 1001,1111,2222 声明会议室号1001,普通用户进入密码1111,管理员密码2222

 

 

 

2.1.5 http.conf , manager.conf

 

如要使用web功能,在这两http.conf中设置:

enabled=yes

enablestatic=yes

manager.conf中设置:

[general]

displaysystemname = yes

enabled = yes

webenabled = yes

port = 5038

 

[administrator]  //添加asterisk gui用户

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.6 cdr_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.7 res_mysql.conf

 

[general]

dbhost = localhost   //astbill 数据库

dbname = astbill

dbuser = astbilluser

dbpass = astbill419

dbport = 3306

 

dbsock = /var/lib/mysql/mysql.sock

 

2.1.8 features.conf

 

[featuremap]

blindxfer => ##  ; Blind transfer  (default is #)

;disconnect => *0               ; Disconnect  (default is *)

automon => *1  ; One Touch Record a.k.a. Touch Monitor

;atxfer => *2                   ; Attended transfer

;parkcall => #72                ; Park call (one step parking)

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-monkeyskidding.

 

2.1.9 logger.conf

 

[logfiles]

 

debug => debug

console => notice,warning,error

messages => notice,warning,error  //都是设置要输出的信息。

 

保存在/var/log/asterisk下。

1条评论

·         Trixbox web 操作界面, 只是一个外壳, 本质上, 需要理解 /etc/asterisk 目录下面的配置 文件, 才能理解 问题 出在了哪里?

在配置 N 个会议室, 需要在 文件meetme.conf 中配置 N 个会议室, 例如:
conf => 1234
就配置了会议室 1234 。 要配置多个, 就在这里加上多个行,如。
conf => 1235

再在 extensions.conf 文件中,加上这个会议室的号码, 比如:
[default ]
exten => 8600,1,Meetme(1234|p)

这样配置了后, 重新 asterisk ,或者说 reload 配置。
这样SIP 电话 一拔 8600, 就进入了 会议室 1234

 

阅读(3705) | 评论(2) | 转发(0) |
0

上一篇:Asterisk目录及配置文件

下一篇:学习资料

给主人留下些什么吧!~~

robertxy2010-03-07 09:49:25

哪请你这位懂的朋友,把你知道的跟大家分享一下,谢谢!

chinaunix网友2008-09-04 15:48:04

不懂乱说!