免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5023 | 回复: 0
打印 上一主题 下一主题

asterisk配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-27 11:41 |只看该作者 |倒序浏览


  Normal
  0
  
  
  
  7.8 磅
  0
  2
  
  false
  false
  false
  
  EN-US
  ZH-CN
  X-NONE
  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
  
  
   
   
   
   
   
   
   
   
   
   
   
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:普通表格;
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-qformat:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.5pt;
        mso-bidi-font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-ascii-font-family:Calibri;
        mso-ascii-theme-font:minor-latin;
        mso-hansi-font-family:Calibri;
        mso-hansi-theme-font:minor-latin;
        mso-font-kerning:1.0pt;}

asterisk pbx系统安装配置手册1

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.2,asterisk-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 Functions除odbc相关其他能选的全部选上,其余默认。
-make
-make install
-make samples

Asterisk-addons和asterisk-sounds的安装基本差不多。



1.2.3 asteriskgui 安装

http://svn.digium.com/svn/asterisk-gui/trunk
gui源码获取。
进入目录:
-./configure
-make
-make install

1.2.4 astbill 安装

http://sourceforge.net/projects/astbill/
  源码下载。

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

进入目录,然后 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
为101,102两个用户声明语音信箱。 后面的地址没有关系,关键是@前面的用户名和密码。

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-monkeys,kidding.

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。

               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/77518/showart_1149889.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP