Alpine Linux 上的 SIP 配置

来自 Alpine Linux
此材料正在工作中...

在此通知移除之前,请勿遵循此处的说明。
(最后编辑者:Zcrayfish,于 2021 年 12 月 20 日。)

概述

本页面描述了如何基于 Postgresql 和 ACF Web 界面安装 SIP 设备的基本配置服务器。 它在 Alpine Linux 2.7、3.0、3.1、3.2、3.3 和 3.4 上构建和测试。

此解决方案由 acf-provisioning 软件包实现。 acf-provisioning 被设计为通用的配置服务,它提供一个 Web 界面 (ACF) 来管理和配置设备,以及第二个 Web 界面来服务配置文件。 该设计由数据库条目数据驱动,这些条目定义了每个设备的服务等级和参数。 配置文件使用数据库参数值和模板动态生成。 默认情况下,包含对各种 SIP 客户端的支持。

设置步骤

1. 配置机器

安装并配置带有 ACF Web 界面的基本 Alpine Linux 服务器。

setup-alpine
setup-acf

2. 安装软件包

以下是配置功能的基本软件包

apk add acf-provisioning acf-postgresql acf-lighttpd

此外,您可以为您想要支持的 SIP 设备添加固件软件包(取决于 Alpine Linux 的版本,某些软件包可能不可用,或者可能从社区存储库中可用)

apk add acf-provisioning-cisco acf-provisioning-linksys acf-provisioning-polycom acf-provisioning-snom acf-provisioning-algo acf-provisioning-cyberdata
注意: 如果您是从 RAM 运行,建议将 /var/ 挂载到硬盘以防止数据丢失。 如果您这样做,则应获取固件软件包,而不是安装它们。 这样,固件将不会占用 RAM 进行存储。 您可以使用以下命令:apk fetch --quiet --stdout acf-provisioning-polycom | tar -C / -zvx

3. 配置 Lighttpd

Lighttpd 用于为 SIP 设备提供 HTTP 配置接口。 配置软件包包含一个可用于 lighttpd 的示例配置

mv /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.orig
ln -s /etc/provisioning/lighttpd.sample.conf /etc/lighttpd/lighttpd.conf

修改 mod_cgi.conf 以将 CGI 脚本视为 shell 脚本,而不是 perl

sed -i 's~/usr/bin/perl"$~"~' /etc/lighttpd/mod_cgi.conf

启动服务器

/etc/init.d/lighttpd start

4. 启动 Postgresql

设备参数详细信息存储在 Postgresql 数据库中。 我们可以使用默认配置,所以我们只需启动服务

/etc/init.d/postgresql start

5. 将您的 SIP 设备指向新的服务器进行配置

各种制造商的说明包含在单独的页面上

ACF Web 界面

您现在可以浏览到 https://IPADDRESS 以访问 Web 界面。 要登录进行管理,请使用 root 用户和系统 root 密码(这是由 setup-acf 设置的默认配置)。

创建设备

acf-provisioning 是按设备组织的,而不是按 SIP URI 或分机号。 因此,每个物理或逻辑设备,例如电话或软电话,都应该在配置系统中拥有自己的设备。

如果您已正确配置您的 SIP 设备以连接到网络和配置服务器,它将已尝试与配置服务器建立联系。 如果是这种情况,您可以通过查找相应的请求并单击创建来创建设备

Applications: Provisioning > Requests > Device Request: Create

这将创建一个具有正确设备类别和 MAC 地址的设备,并重定向您以修改设备服务等级。

否则,您可以使用创建选项卡从头开始创建设备

Applications: Provisioning > Create

最后,在较新的系统上,有一个选项可以使用批量创建选项卡批量创建设备

Applications: Provisioning > Bulk Create

服务等级

配置类用于定义参数组和参数默认值,以适应不同的设备类型和服务等级。 类、组和参数的结构在数据库中定义,使其灵活且可扩展。 类组定义了可以为每个设备配置的不同服务等级。 类定义了每个类组的选项以及哪些参数组将应用于每个选项。 参数组然后定义一组参数和相应的默认值。 最后,参数定义了每个参数的所有详细信息,例如类型、标签、描述、全局默认值和验证。

默认情况下,系统定义了两个类组 - 设备型号和服务。 设备型号类组包含与各种受支持的 SIP 设备相对应的多个类。 显然,不同的设备类型将支持不同的参数集。 服务类组包含用于办公室/住宅/公共/热线电话的类。 这些类主要用于定义功能的不同默认值。 现有的类组、类、参数组和参数都可以通过 ACF Web 界面进行修改,或者可以创建全新的条目来定制系统。