Ubuntu20.04下载Asterisk源码并配置搭建VoIP(一条龙服务,从无到有的搭建)

一、Asterisk的下载

1、安装Asterisk依赖包

打开终端,并运行以下命令以安装 Kamailio 的依赖软件包:

sudo apt update

sudo apt install build-essential libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev uuid-dev

2、下载Asterisk源码

wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz

二、Asterisk的编译与配置

1、配置pjproject

 1)进入到asterisk目录下的third-party/pjproject

sudo vim Makefile.rules  修改PACKAGE_URL的值为https://codeload.github.com/pjsip/pjproject/tar.gz/refs/tags/2.13.1

修改TARBALL_FILE的值为pjproject-$(PJPROJECT_VERSION).tar.gz

2)进入到asterisk目录下的third-party/pjproject

              sudo vim Makefile 修改111行 $(TAR) -xjf 修改为$(TAR) -xvf

      

3)进入到asterisk目录下的third-party

sudo vim Makefile.rules  将  TARBALL_URL = $(PACKAGE_URL)/$(TARBALL_FILE)  修改为  TARBALL_URL = $(PACKAGE_URL)

4)将文件pjproject-2.13.1.tar.gz.md5移动到asterisk目录下的third-party/pjproject目录下。

下载最上面的pjproject-2.13.1.tar.gz.md5文件

2、配置jansson

进入third-party/jansson

sudo vim Makefile.rules

修改PACKAGE_URL的值为https://fossies.org/linux/www/jansson-2.14.tar.bz2

3、安装Asterisk

1)切换到 Asterisk 源目录

cd asterisk-18.20.0/

2)下载构建 MP3 模块所需的 MP3 源,并在 Asterisk 上使用 MP3 文件:

sudo contrib/scripts/get_mp3_source.sh

3)运行脚本以安装必要的依赖项:install_prereq

sudo contrib/scripts/install_prereq install

4)执行configure

该脚本执行多项检查,以确保系统上的所有依赖项都存在。通过键入以下命令运行脚本:

sudo ./configure

5)选择要编译的模块

sudo make menuselect

选择“format_mp3”选项,告诉Asterisk构建MP3模块:

6)开始编译过程

sudo make -j2

7)安装asterisk及其模块

sudo make install

8)安装带有参考文档的通用配置文件

sudo make samples

9)安装asterisk init脚本

sudo make config

4、Asterisk配置

1)禁用pjsip,启用sip

sudo gedit /etc/asterisk/ modules.conf

注释掉noload = res_pjsip.so, autoload=yes, noload = chan_sip.so

前面加分号注释

加一行, load = chan_sip.so

执行命令,sudo systemctl stop asterisk && sudo systemctl start asterisk 停止和重启asterisk服务。

执行 sudo asterisk -rx 'core reload' 命令重新加载asterisk配置

2)再进入/etc/asterisk/ modules.conf取消掉autoload=yes的注释

;autoload=yes去掉前面的注释

然后停止asterisk服务和开启asterisk服务

sudo systemctl stop asterisk && sudo systemctl start asterisk

重新加载asterisk配置

sudo asterisk -rx 'core reload'

5、Asterisk sip服务器分级账号

1)进入/etc/asterisk/sip.conf中末尾添加如下信息,就是分机账号

[general]

context = default

bindport = 5060

tcpbindaddr = 0.0.0.0

tcpenable = yes

videosupport=always

[1001]

videosupport=always

type = friend

username=1001

secret = 1001

host = dynamic

canreinvite = no

dtmfmode = rfc2833

mailbox = mailbox

transport = udp

nat=yes

videosupport=always

maxcallbitrate=384

canreinvite=no

disallow=all

allow = ulaw

allow=alaw

allow=h263

allow=h264

还需要账号就复制添加然后修改即可

2)进入/etc/asterisk/extension.conf中,配置打电话策略

[general]

static=yes

writeprotect=no

[default]

exten => 1001,1,Answer()

exten => 1001,n,Dial(SIP/1001,20,tr)

exten => 1001,n,Hangup

有几个号码就添加几个策略(绿色的

6、Asterisk的使用

1)停止asterisk服务

sudo systemctl stop asterisk

2)开启asterisk服务

sudo systemctl start asterisk

3)重新加载asterisk配置

sudo asterisk -rx 'core reload'

4)进入asterisk 的控制台

sudo asterisk -rvvv

5)查看当前注册到Asterisk的SIP对等体的状态信息

sip show peers

6)如果有问题看这

①、有可能是防火墙没有允许5060/udp流量通过,执行下面命令

sudo ufw allow 5060/udp

②、有可能没有允许rtp流量通过,执行下面命令

sudo iptables -A INPUT -p udp --dport 10000:20000 -j ACCEPT

  • 30
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值