初试asterisk

asterisk是一种开源的VOIP-PBX系统,一种纯软件的基于互联网的底层解决方案,在google上搜索asterisk你可以看到目前的应用十分火爆,基于asterisk的各种VOIP解决方案很多。最近有了点空,在leera的帮助下准备实验一下基于asterisk的callcenter。

这两天先摸了下asterisk的基本实验,主要是实验下基础的呼入和呼出控制。实验平台是一台P3-800的老机器,RH3的系统,一块X100P的单口卡。

前期准备的软件下载地址:
http://downloads.digium.com/pub/asterisk/asterisk-1.4.17.tar.gz
http://downloads.digium.com/pub/libpri/libpri-1.2.7-patch.gz
http://downloads.digium.com/pub/zaptel/zaptel-1.4.7.1.tar.gz

其中安装比较简单,要注意的就是zaptal的make在RH3上编译报错,需要升级到make3.81。zaptal安装完成之后可以通过zttool来查看卡的状态,Alarms是OK状态就行,如果没有插入电话线显示的是Red。

# safe_asterisk 启动asterisk
# asterisk -r  进去管理控制命令行

asterisk的配置文件都在/etc/asterisk中,开始试验涉及到的配置文件主要是三个,zapata.conf、extensions.conf、sip.conf

zapata.conf主要是控制呼入呼出的链路,通过ztcfg查看可用的channels
[channels]
channel => 1

extensions.conf主要设定呼入呼出的规则,核心控制配置文件
[incoming]  设定呼入规则
exten => s,1,Answer()  接受呼入应答
exten => s,2,Playback(qingke) 播放qingke.gsm音乐
exten => s,3,Background(guxiang) 播放guxiang.gsm音乐作为背景音乐
exten => 1,1,Playback(digits/1)  如果用户按1号键则播放digits/1.gsm音乐
exten => 1,2,Dial(SIP/1001,10)  然后将呼入转到1001号SIP用户上
exten => 2,1,Playback(digits/2)  如果用户按1号键则播放digits/2.gsm音乐
exten => 2,2,Dial(SIP/1002,10)  然后将呼入转到1002号SIP用户上

[internal] 设定internal组规则
exten => 121,1,Dial(Zap/1,,r)  用户按121号码可以呼出zap卡的1channel通道
exten => _9.,1,Dial(Zap/1/${EXTEN:1})  用户通过拨9可以用zap卡呼出外线

SIP.conf用来设定SIP用户
[1001]
type=friend
host=dynamic
context=internal
dtmfmode=rf2833
progressinband=no
disallow=all
allow=ulaw
allow=alaw
allow=h263
allow=h263p

[1002]
type=friend
host=dynamic
context=internal
dtmfmode=rf2833
progressinband=no
disallow=all
allow=ulaw
allow=alaw
allow=h263
allow=h263p
canreinvite=no

经过测试,基本实现了预期测试的效果,过两天再看看更复杂的一些设置,以及一些构建在asterisk基础上的应用和管理平台的使用。

发表评论