您的位置:

Asterisk:开源通信系统的新选择

一、Asterisk简介

Asterisk是一个开源通信系统,它由Mark Spencer在1999年创建,被称为“电话机器人”。它是基于GPL许可证的,使用C语言编写,其跨平台性和灵活性使其成为非常流行的解决方案。它可以处理传统语音应用程序以及VoIP(Voice over Internet Protocol)应用程序,包括转接、私有分支交换(PBX)、服务中心、会议桥,以及语音、视频和即时消息。目前, Asterisk已经安装了几百万个系统,它有一个强大的社区,为用户提供各种开源解决方案。

二、Asterisk的核心功能

1、普通电话和网络电话(SIP)之间的互动:Asterisk集成了支持普通电话和网络电话之间互通的硬件和软件。

2、语音信箱:Asterisk支持自动生成和管理语音消息。

3、交换机功能:Asterisk可以作为普通电话交换机的替代方案,支援轻量级目录

4、IVR(Interactive Voice Response):使用Asterisk,用户可以创建输入菜单,安装自动应答系统或类似的系统。

5、电话会议桥:这一功能让用户创建电话会议,提供易用性和安全性。

三、Asterisk的插件

1、chan_sip模块,生成SIP通道,允许基于SIP的电话系统与Asterisk集成。


[general]
allowexternaldomains=no
bindport=5060
bindaddr=0.0.0.0
tcpenable=no
disallow=all
allow=g729
context=public
allowoverlap=no
srvlookup=yes

[34567]
type=friend
secret=12345
qualify=yes
port=5060
nat=no
mailbox=34567
host=dynamic
dtmfmode=rfc2833
context=extensions
canreinvite=no
subscribecontext=none
call_limit=6
callerid="Ali Bai" <34567>;

2、cdr_mysql模块,它是Asterisk的一个用于记录通话的记录模块。cdr_mysql提供了连接MySQL数据库存储通话数据库的功能,提供了更好的灵活性和可靠性。


[global]

hostname=localhost
dbname=mydatabase
table=cdr
password=''
user=root
userfield=1

[master]
loguniqueid=yes
dispositionstring=yes
loguserfield=yes

3、app_amd模块,自动语音检测机(AMD)模块基于音频查询算法,可以检测人类的语音和其他声音。人类语音信号通常包含声道、波峰和静音信号。通过使用AMD,Asterisk系统可以识别是否有人在电话的另一端回答,以及什么时候会话已经结束。


[my-amd]

silence=2000
maximum_word_length=500
maximum_number_of_words=3

[incoming]

exten = 300,1,Answer()
exten = 300,n,AMD()
exten = 300,n,NoOp(Silence = ${AMD(silence)}; Words = ${AMD(words)}; Length = $ {AMD(length)}; Progress = ${AMD(progress)})
exten = 300,n,Hangup()

四、Asterisk的应用场景

1、 VoIP电信公司:Asterisk作为VoIP电信公司的PBX解决方案,企业可以轻松地通过互联网提供电话服务,外线、内线和数字或网络电话可以无缝地连接,并能够实现实时通信和数据传输。

2、电信采购:Asterisk可以作为电话购物自动应答解决方案,用户可以通过按数字键进行交互式通信,以查找所需的信息、录制订单信息等。

3、服务中心:Asterisk可以作为服务中心的解决方案,它可以处理来自多个客户的呼叫,在最短时间内响应客户的需求。

4、小型企业:对于小型企业来说,Asterisk作为PBX解决方案可以节省成本,同时可以通过网络提供通信服务,实现更高效的业务运作,提高生产力。

5、电信运营商:Asterisk可以作为电信运营商的IP中继网关,同时支持IP电话之间的点对点连接,这大大降低了通信成本。

五、总结

Asterisk作为开源通信系统,自问世以来就受到了广泛关注和使用。它提供了强大的语音处理功能,可以应用于各种通讯场景中,同时通过各个插件,可以支持更复杂的功能。随着技术的不断发展,我们相信Asterisk在未来将会有更多的应用场景,并为广大用户带来更多便利和方便。