Asterisk 是一个私人电话交换机的软件实现 (交换机). 它允许手机与各种硬件技术接口, 互相呼叫并连接到电话服务, 例如公共交换电话网络服务 (公共电话网) 和 IP 语音 (网络电话). 它的名字来自星号“*”.
Asterisk 的一些特性包括:
- Asterisk 软件包括许多可用于商业和专有 PBX 系统的功能: 语音邮件, 电话会议, 交互式语音响应和自动呼叫分配.
- 用户可以通过在许多 Asterisk 自己的扩展中编写拨号计划脚本来创建新功能, 添加用 C 编写的自定义可加载模块或实现 AGI 程序 (星号网关接口) 使用任何能够通过标准广播系统进行通信的编程语言 (标准输入和标准输出) 或通过网络 TCP 套接字.
- Asterisk 支持多种标准的 IP 语音协议, 包括会话启动协议 (啜), o MGCP (媒体网关控制协议) Ë 323.
- Asterisk 支持大多数 SIP 电话, 充当背靠背的注册商和用户代理.
- 通过支持各种传统和 VoIP 电话服务, Asterisk 允许实施者构建电话系统或将现有系统迁移到新技术.
安装字体星号
以用户身份登录 Ubuntu 服务器后, 运行以下命令切换到root用户.
$ 须藤须
你现在是root, 但需要使用以下命令设置密码.
# 密码
下一步是为 Asterisk 安装初始依赖项.
# apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(用户名 -r) libsqlite3-dev uuid-dev git subversion
安装星号
现在, 当我们是 root 并且依赖项得到满足时, podemos passar para o diretório /usr/src/ e fazer o download da versão mais recente do Asterisk.
# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
然后, descompactamos.
# tar zxvf asterisk-15-current.tar.gz
Agora precisamos entrar no novo diretório descompactado,
# cd asterisk-15*
Antes de realmente compilar o código do Asterisk, precisamos do “pjproject”, já que o asterisk-15 introduz o suporte para pjsip. Então vamos compilá-lo primeiro:
# git clone git://github.com/asterisk/pjproject pjproject
# cd pjproject
# ./配置 –prefix=/usr –enable-shared –disable-sound –disable-resample –disable-video –disable-opencore-amr CFLAGS=’-O2 -DNDEBUG’
# make dep
# 制作 && 进行安装
# ldconfig
# ldconfig -p |grep pj
Configurando o Asterisk
E agora começamos a configurar e compilar o código do Asterisk.
# cd ..
# 贡献/脚本/get_mp3_source.sh
# contrib/scripts/install_prereq 安装
这将安装 mp3 铃声并满足可能需要一些时间并询问您的国家/地区代码的其他依赖项. 以下命令将编译并安装 Asterisk.
# ./配置 && 制作菜单选择 && 制作 && 进行安装
等结束了, 避免数百个配置文件, 安装后, 你通常想运行这个命令, 初始设置对您有什么作用:
# 制作样品
并安装并激活启动脚本以在每次启动时启动 Asterisk, 我们运行 make config, 其次是ldconfig:
# 进行配置
# ldconfig
现在我们可以第一次启动Asterisk,看看它是否真的有效.
# /etc/init.d/asterisk start
然后我们可以使用以下命令进入 Asterisk 控制台.
# 星号-rvvv
现在我们需要采取额外的步骤来以 Asterisk 用户身份运行它. 首先我们需要停止 Asterisk.
# systemctl 停止星号
所以我们需要添加名为asterisk的组和用户.
# 群加星号
# useradd -d /var/lib/asterisk -g asterisk 星号
需要配置Asterisk以我们刚刚创建的用户身份启动, 我们可以手动编辑/etc/default/asterisk, 但是使用两个 sed 命令效率更高.
# sed -i 's/#AST_USER=”星号”/AST_USER=”星号”/G’ /等/默认/星号
# sed -i 's/#AST_GROUP=”星号”/AST_GROUP=”星号”/G’ /等/默认/星号
正确运行, 星号用户需要对所有基本星号目录的权限.
# chown -R 星号:asterisk / var / spool / asterisk / var / run / asterisk / etc / asterisk / var /{库,日志,线轴}/星号 /usr/lib/星号
还需要编辑 Asterisk.conf 以取消 runuser 和 run group 的注释行:
# sed -i's/;运行用户 = 星号/运行用户 = 星号/g’ /etc/asterisk/asterisk.conf
# sed -i's/;运行组 = 星号/运行组 = 星号/g’ /etc/asterisk/asterisk.conf
完成后, 重启服务器,让 systemd 自动出现 Asterisk,然后输入 asterisk -rvvv 进入 asterisk 控制台.
# 星号-rvvv