设置 Asterisk 通道流媒体

来自 Alpine Linux
此材料被提议删除 ...

草稿已超过两年 (讨论)
请确保没有其他页面链接到这里,并在删除前检查页面的历史记录

此材料正在进行中 ...

在移除此通知之前,请勿遵循此处的说明。
(最后编辑者:Sertonix,于 2023 年 8 月 25 日。)

Asterisk 通道流媒体操作指南

简介

Asterisk 以 VoIP 服务而闻名。显然,VoIP 技术的本质需要实时通信,这对网络连接层提出了特定的要求,例如链路速度/带宽、IP 数据包优先级/控制和网络延迟。

在某些情况下,提供至少单向通信能力是可取的。例如,这个想法可以用于让那些与总部网络连接层仍然相对较差的远程地点,至少“收听”通过 Asterisk MeetMe 会议功能组织的 корпоративный 工作会议/会议。另一个应用是将 Asterisk 通道流式传输到互联网。

它是如何工作的?

Asterisk 与声音流媒体软件(如 Icecast2 服务器)结合使用。流媒体技术提供“缓存/缓冲”功能。因此,广播/接收到的声音被缓冲,这有助于整体音质保持高水平,从而克服网络带宽和延迟中的大多数问题。

Asterisk 系统发起自动呼叫以连接两个分机。一个分机提供 Asterisk 通道声音(MusicOnHold、Playback、MeetMe 等),第二个分机启动 Asterisk Ices 应用程序并将声音合并到其中。Ices 应用程序依赖于 Icecast Ices,Icecast Ices 是 Icecast2 服务的声源。

通过 Icecast Ices 和 Asterisk Ices 应用程序将声音合并到 Icecast 服务后,可以使用 WinAmp、VLC 媒体播放器收听 ogg 音频流。应根据当地需求调整流缓存参数,以获得可接受的音质。

设置 Asterisk Ices 应用程序

首先,我们需要安装 asterisk 

apk add asterisk

由于我们计划使用 MeetMe 功能,我们还需要一个计时器 

apk add dahdi-linux dahdi-linux-grsec asterisk-dahdi

然后我们需要确保模块在启动时加载

echo dahdi >> /etc/modules-load.d/dahdi.conf

Asterisk 默认在 asterisk 用户下运行。dahdi 伪设备的所有者是 root。我们需要更改它 

chown asterisk:root /dev/dahdi/*

注意 :每次重启后,权限都会被重置。因此,您需要将该命令放入启动后运行的脚本中。

最后,将 asterisk 添加为启动服务 

rc-update add asterisk

可选地,我们可以安装 asterisk 的示例配置 

apk add asterisk-sample-config

不要忘记重启以加载 dahdi 模块(参见上面的注释)。

设置 Icecast Ices 源

Ices2 软件包位于 Edge/testing 仓库中(请参阅 Edge 以激活它)。

apk add ices2

或者,您可以从源代码编译它。为此,我们需要编译器的软件包 

apk add alpine-sdk

然后我们需要编译 ices 的适当依赖项 :

apk add libshout-dev libogg-dev libvorbis-dev libxml2-dev

我们获取源代码 :

cd /root wget http://downloads.us.xiph.org/releases/ices/ices-2.0.2.tar.gz

解压缩 :

tar -zxvf ices-2.0.2.tar.gz

编译并安装 :

cd ices-2.0.2 ./configure make make install

设置 Icecast2 服务

Icecast2 已经有一个软件包构建 

apk add icecast

我们将 Icecast 服务器添加到启动项 

rc-update add icecast

编辑 /etc/icecast.xml 以满足您的需求。

Todo: 在此处添加示例配置


Icecast 默认以 Icecast 用户身份运行。在某些情况下,以 Asterisk 用户身份运行可能很有用 

chown -R asterisk:asterisk /var/log/icecast* chown -R asterisk:asterisk /usr/local/share/icecast*

并在 icecast.xml 中更改这些设置 

内容 /etc/icecast.xml

<changeowner> <user>asterisk</user> <group>asterisk</group> </changeowner>
注意: 注意 :如果您计划使用 <authentication type=url> 选项,请确保在 edge 仓库中安装软件包版本 icecast≥2.3.3-r7(要安装 edge 仓库,请参阅 Edge )。

使用媒体播放器

更多信息