debian9下部署Asterisk

社内需要使用这个东西来升级一下电话系统,所以研究了一下
目前只设定到了内线部分,外线目前还未测试

依旧是root下设置,不带sudo命令

1、安装Asterisk
已经很简单了,apt-get即可满足,但是会安装很多依赖,约330M,需要一点时间
另外,这里面有一个不小的坑:如果考虑复用服务器的话,强烈建议先安装openssl,asterisk需要的其中一个依赖是libssl1.1,这个包含在openssl里

apt-get install openssl
apt-get install asterisk

2、配置Asterisk
先跳到配置文件夹并备份默认配置,我们自己写即可

cd /etc/asterisk
mv sip.conf sip.conf.bak
mv extensions.conf extensions.conf.bak

然后我们自己写一个简单的配置

vim sip.conf

[general]
context=default
port=5060
bindaddr=0.0.0.0
;nat=yes

[101]
type=friend
defaultuser=101
secret=password1
host=dynamic
canreinvite=no

[102]
type=friend
defaultuser=102
secret=password2
host=dynamic
canreinvite=no

这里user直接以内线编号为账号方便记忆,而且考虑到最后设置ip话机的时候是直接在座位上配置所需的内线,所以也好配置

vim extensions.conf

[default]

exten => 101,1,Dial(SIP/101,30,r)
exten => 101,2,Hangup()

exten => 102,1,Dial(SIP/102,30,r)
exten => 102,2,Hangup()

这里是设置被呼叫到后的规则,可以设置等待时间、呼叫时播放的声音等,也可以用一些标志来指代部分或者全体,例如:

exten => _10X,1,Dial(SIP/${EXTEN},30,r)
exten => _10X,2,Hangup()

这里指100~109之间的所有号码,同理,改成1XX的话则是指100~199之间的所有号码

另附:Asterisk的命令行管理相关

进入控制台:asterisk -crvvv
查看已登录用户:sip show peers
查看详细信息:sip show ****
重新加载sip:sip reload

参考:
UbuntuでAsteriskを構築し「ブラステル」を登録する(CuBox-i2使用)
もうハマらない!Twilio × Asteriskで普通の外線電話を作る
Asterisk chinese voicemail intro
Asterisk multi-language
asterisk 之 IVR 设置中英文语言选择 (dialplan)
Asterisk基本設定ガイド!