
1 首先是更新系统(可选)
在命令行中输入
sudo apt-get update
sudo apt-get upgrade
2 安装LAMP (Apache2+MySQL+PHP)
在命令行输入
sudo tasksel
选择 LAMP Server
3 添加额外的PHP 软件包
sudo apt-get install php5-gd php-pear php-db sox curl
4 安装phpmyadmin (可选)
sudo apt-get install phpmyadmin
5 安装asterisk
sudo apt-get install asterisk asterisk-mysql asterisk-mp3
6 安装Freepbx准备工作
在安装Freepbx我们先要想好将Freepbx 安装在哪个目录下,FreePBX 为asterisk 的Web管理应用,可以帮助用户配置Asterisk等。
1) Ubuntu 的Web根目录为/var/ >其实Asterisk版本每一次升级变动,对于我们并无特别的意义。功能那么多,常用到的还不是那几个?够用就好。不过,每次版本升级,当然意味着增加新功能,改进完善一些细节(bug补丁)。如果你是使用Elastix,或者Trixbox,或者AsteriskNOW,或者FreePBX,或者Freeiris,或者Askozia,或者Vicidial等等界面工具的话,没有必要了解Asteirsk的细节。但是,如果你是使用Asterisk开发一些好玩的有趣的应用,比如电信增值业务、移动增值业务、IVR、IVVR、视频会议、呼叫中心、CRM、自己的GUI图形化管理界面等等,或许已经深深感到Asterisk有点力不从心了,那么,说不定新版本里就有你要的东西了。
不过,单纯看Changeslog是比较枯燥的。比如18版本的官方介绍的功能列表就看得云山雾罩:
引用
Secure RTP
IPv6 Support
Connected Party Identification Support
Calendaring Integration
A new call logging system, Channel Event Logging (CEL)
Distributed Device State using Jabber/XMPP PubSub
Call Completion Supplementary Services support
Advice of Charge support
Asterisk里调试SIP确实挺麻烦的,一般使用另外的网络协议分析工具。从18版本开始,可以直接在Dialplan里拿到详细的SIP交互信息,从而更加准确地获取拨号状态、网络状态、用户状态(UA)等。
以前版本里,拨号后的状态DIALSTATUS一般返回值有ANSWER、BUSY、NOANSWER、CANCEL、CONGESTION、CHANUNAVAIL、DONTCALL、TORTURE、INVALIDARGS。
我们都经常被CONGESTION这个返回值困扰。几乎每个呼叫故障都返回CONGESTION。这是因为Dial()函数适用很多种协议,SS7,Zap,SIP,IAX等等,因此不能返回某个协议指定的信息,比如SIP 404 响应。
Asterisk 18 增加了一个功能,可以从Dialplan里面调用 {HASH(SIP_CAUSE,<channel-name>)}来获取具体的SIP响应信息,不仅是拨号状态,也可以是挂机原因(${HANGUPCAUSE})。
Asterisk 18还新增了一个'use_q850_reason' 配置选项来生成和分析Q850协议信息。"Reason: Q850;cause=<cause code>" 可以更好地通过SIP来传递 PRI/SS7原因编码。
具体应用在哪些场合呢?
比如你有一些中继网关(SIP <-> ISDN或者SIP <-> SS7),当然希望能够监测真正的“congestion”信令,以便路由到其它的中继网关上。但是如果每个呼叫失败的消息都反馈成“CONGESTION“,就不可能实现这个功能。
你的电话听筒不能给用户显示SIP错误响应信息,所以你需要使用信号音。比如Cisco 7960 SIP总是无用地响着重拨信号音 "boop, boop, boop, boop",无论对任何SIP呼叫建立故障都一样。美国的"Reorder"信号音并不是手机上的惯例,听起来很像英国的忙音。这让用户无法判断到底哪里出了问题。
如果你不想依赖电话听筒,而是通过SIP错误代码来提供更加一致的用户体验。在调用Dial()之前先调用Answer()让Asterisk摘机,然后使用Playtones() Wait() 来播放地区特定的呼叫进展信号音。
asterisk 2010-08-17 09:11
如果用Asterisk开发一个大型的IVR或其它的业务系统,比如托管式通讯服务或者外包呼叫中心或者大型声讯平台,那么Dialplan的解析效率确实是一个问题。
18版本引入了一个新的分机模式匹配模式,基于trie技术(Trie,又称单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。)。可以显著地加速中型和大型dialplan的效率。
因为以前的分机模式匹配模式还不能完全复制过来,因此默认是不使用新的模式,需要在extensionsconf的[general]项里设置,叫做"extenpatternmatchingnew",缺省是false,设为true将适用新的运算法则。
当然,在cli命令里输入"dialplan set extenpatternmatchingnew true/false" 也可以实时切换模式匹配的规则。
kevinhwa 2010-08-17 16:30
学习一下。。。
asterisk 2010-08-18 23:47
1、MeetMe应用现在打开了一个DENOISE()功能,每一方都是。这可以显著降低背景噪音(特别是在嘈杂的数据中心机房里)。
2、MeetMe有一个新的参数选项 'G' ,在加入会议桥之前播放一个宣告。
3、MeetMe无需设置参数选项 'o',默认已经启用。
4、MeetMe增加一个‘C’选项,当一个用户被踢出来的时候,可以继续执行dialplan
5、MeetMe增加了S()和 L() 参数选项,这个跟Dial()应用的 S() 和L()参数差不多。它们让你设置电话会议的时长,可以语音播报剩余时间,什么时间结束。
6、新增一个功能参数,当电话会议中只有一个人的时候,可以指定M选项播放的背景音乐的类型。
7、预定的meetme电话会议可以通过MeetMeAdmin来扩展,设定结束时间。
8、当会议创建后,每个通道的UNIQUEID通道变量引申出MEETMEUNIQUEID通道变量,用于长期会议的进、出。
9、增加一个新应用——MeetMeChannelAdmin——类似MeetMeAdmin,不过它通过通道名称来对通道进行 *** 作,而不是通道在会议中的编号。这在ChanSpy的“X”选项是一个有用的功能。
10、增加一个新的RealTime功能为预定会议提供支持。这个包含了可选的消息通知,允许用户早一点加入电话会议……
11、增加使用“meetme” CLI命令行来实现"meetme concise"的能力,可以列出所有会议,不用附加子命令。
12、增加MEETME_INFO dialplan功能,提供了查询Meetme会议各种属性的途径。
13、增加了新的管理功能:81: 点名, 82: 踢出所有人, 83: 让所有人静音, 84: 在会议中录音
asterisk 2010-08-19 23:46
1、增加了新的CDR字段:'linkedid' 和 'peeraccount' 。linkedid 是基于uniqueID,但是蔓延到其他的通道比如转移呼叫,拨号等等。这样,Thus the pieces of CDR can be grouped into multilegged sets。
2、在cdr_customconf里可以指定多文件,多种格式的CDR。
3、新增cdr_syslog,让CDR可以直接写到系统的syslog里。参见cdr_syslogconf。
4、增加了'sequence' 字段,可以和linkedid 或者 uniqueid结合起来唯一地标识一条CDR记录。
5、'billsec'和'duration'字段的处理已经改变。如果你在表里定义了这些字段是float,double或类似的数据类型,将会记录为毫秒精度,而不是一个整数秒。
jiangyifen 2010-08-23 13:54
学习
有兴趣的朋友可以找我交流asterisk相关问题:
>根据Bigbluebutton官方网站的安装步骤>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)