asterisk服务器的搭建和配置

大约在一年前,学习过一段时间的asterisk。作为一个相对成熟的VOIP电话的服务器,asterisk完全可以用来作为个人的一个微型电话局。反正个人有个阿里云服务器闲着,搭一个asterisk用来玩玩吧。

首先,要安装asterisk。个人建议使用apt-get进行安装,因为asterisk需要依赖很多东西,通过apt-get安装可以直接将需要的库等都安装好。

sudo apt-get install asterisk

这样asterisk就安装好了。一年前刚接触asterisk时,是通过安装包安装的,费了一小段时间才安装好,因为之前的环境是一个内网虚拟机的环境,无法连到公网,于是就在安装过程中各种下载需要的依赖库。但是这样安装的asterisk不是最新版,比如我安装时最新版本为14,但是这样安装的版本却是11,不支持很多新协议栈(如PJSIP,OSIP等)(PJSIP在版本12才开始支持),如果对版本有要求的话,最好源码安装。

接下来就是配置了。asterisk有很多的配置文件,这些配置文件都在/etc/asterisk文件夹下。

如果要让asterisk工作起来,首先需要配置用户信息,通过配置sip.conf文件即可:

sudo vim sip.conf

在文件中添加如下内容:

[general]
context = default
tcpbindaddr = 0.0.0.0
tcpenable = yes

[1001]
type = friend
callerid = User One 
secret = 1001
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1001
disallow = all
allow = ulaw
transport = udp

[1002]
type = friend 
callerid = User Two 
secret = 1002
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1002
disallow = all
allow = ulaw
transport = udp

[1003]
type = friend 
callerid = User Three 
secret = 1003
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1003
disallow = all
allow = ulaw
transport = udp

 

以上表示配置了三个用户:1001,1002,1003.每个用户的具体配置的每个字段从名字来看就大概能知道。在general中有 很多服务器的基础配置,看一下原先文件中的注释即可。     接下来需要配置每个用户打电话的相关策略,即配置extension.conf文件:

[general]
static=yes
writeprotect=no

[default]
exten => 1001,1,Answer()
exten => 1001,n,Dial(SIP/1001,20,tr)
exten => 1001,n,Hangup

exten => 1002,1,Answer()
exten => 1002,n,Dial(SIP/1002,20,tr)
exten => 1002,n,Hangup
exten => 1003,1,Answer()
exten => 1003,n,Dial(SIP/1003,20,tr)
exten => 1003,n,Hangup

 

可以在里面配置很多策略,比如被呼振铃时间等,都是可以配置的。这里就相似于一种脚本语言一样,通过这个脚本,可以 描述整个呼叫过程中的所有过程。 至此,整个asterisk服务器最基本的版本就搭建好了,勉强可以用。 测试:选择了一android系统的终端和一个windows系统的终端进行打电话,android下使用linphone,windows下使用 eyebeam,经过测试,没有问题。             当然,asterisk有很多好玩的东西。比如用户信息的配置等等,还有每个用户的打电话的策略等,都可以通unixODBC和 asterisk提供的相关模块(如realtime等)写入MYSQL数据库,这样便于自己写一个第三方操作数据库的软件直接对 asterisk进行配置;asterisk还可以配置cdr;还可以配置录音等等好玩的东西。以下是当时刚开始学习asterisk时的虚拟机的备份。

服务器配置好后,新问题来了,隔一段时间就有人不断的想登陆你配置好的asterisk服务器,尝试了不同的号码, Register信令和Invite信令也发送了无数次,然而号码都不对。屏蔽它就好。

共有 0 条评论

Top