使用 Asterisk 的传真服务器
![]() 这是一个实验性页面,旨在查看这是否可以替代使用 Asterisk+IAXmodem+hylafax 的更复杂的设置 |
本文档旨在创建一个尽可能简单的传真服务器,以使用 asterisk 和 asterisk-fax 发送和接收传真。
安装
此 Wiki 文档基于 Alpine Linux 2.6(但也可能适用于 2.1.3 或更高版本)
首先设置 Alpine Linux 基础系统(您很可能需要运行 setup-alpine
来设置最基本的设置)
防火墙
您可能需要设置防火墙以保护您的系统。本文档不讨论此任务。Alpine Linux 中的一些防火墙替代方案是
- AWall
- Shorewall
- iptables
配置电子邮件
安装所需软件包
我们将使用软件包 email 通过电子邮件将传真发送给各种收件人。让我们从安装软件包开始
apk add email
通用配置
- 编辑相应的文件
vi /etc/email/email.conf
- 更改变量
SMTP_SERVER
、SMTP_PORT
、MY_NAME
、MY_EMAIL
、ADDRESS_BOOK
- 注释掉变量
SIGNATURE_FILE
地址簿
- 编辑相应的文件(在此示例中,我们假设您没有更改
ADDRESS_BOOK
变量的值)。
vi /etc/email/email.address.template
- 定义一些适合您需求的电子邮件地址。
即将到来的 asterisk 配置假定您在此地址簿中预定义了一些记录。例子
内容:/etc/email/email.address.template
测试功能
完成 email 配置后,您可以通过运行如下命令进行测试
email -s "testmail" -b jeff
配置 Asterisk
配置 Asterisk 有多种方法。本文档仅描述一个非常基本的设置,您可能需要根据自己的需求进行修改。但是通过遵循本文档,您应该拥有一个仅使用 asterisk 和 asterisk-fax 的全功能传真服务器。
安装所需软件包
在此阶段,您的 Alpine Linux 仅包含一些用于基本功能的软件包。我们需要安装一些额外的软件包才能获得传真功能。
apk add asterisk asterisk-fax
通用设置
设置一些通用设置
- 编辑相应的文件
vi /etc/asterisk/asterisk.conf
- 将此内容复制到文件中
内容:/etc/asterisk/asterisk.conf
加载适当的模块
Asterisk 需要一些模块才能处理传真。
- 编辑相应的文件
vi /etc/asterisk/modules.conf
- 将此内容复制到文件中
内容:/etc/asterisk/modules.conf

启用 SIP
- 编辑相应的文件
vi /etc/asterisk/sip.conf
- 将此内容复制到文件中
内容:/etc/asterisk/sip.conf
启用 udptl
- 编辑相应的文件
vi /etc/asterisk/udptl.conf
- 将此内容复制到文件中
内容:/etc/asterisk/udptl.conf
配置传真
- 编辑相应的文件
vi /etc/asterisk/res_fax.conf
- 将此内容复制到文件中
内容:/etc/asterisk/res_fax.conf
配置拨号方案
- 编辑相应的文件
vi /etc/asterisk/extensions.lua
- 将此内容复制到文件中
内容:/etc/asterisk/extensions.lua
权限
为了使 asterisk 能够读取新的配置文件,我们需要为这些文件设置正确的权限
chown -R asterisk:asterisk /etc/asterisk
启动服务
现在是时候启动服务了
rc-service asterisk start
配置 asterisk 在下次重启时自动启动
rc-update add asterisk
测试
发送传真
准备
将 '.tiff' 文件保存到 '/tmp/' (在我们的示例中,我们将文件命名为 '/tmp/testfax.tiff').
创建一个类似于这样的文件(根据您的本地需求进行修改)。
内容:/tmp/testfax.txt
更改新创建文件的权限
chown asterisk:asterisk /tmp/testfax*
发送传真
现在将 '/tmp/testfax.txt' 复制到 '/var/spool/asterisk/outgoing/'。当您执行此操作后,asterisk 将尝试根据您在文件中编写的内容发送传真。
cp -p /tmp/testfax.txt /var/spool/asterisk/outgoing/