轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
mlan/asterisk
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

asterisk Docker 镜像下载 - 轩辕镜像

asterisk 镜像详细信息和使用指南

asterisk 镜像标签列表和版本信息

asterisk 镜像拉取命令和加速下载

asterisk 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

asterisk
mlan/asterisk

asterisk 镜像详细信息

asterisk 镜像标签列表

asterisk 镜像使用说明

asterisk 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

非***Docker化Asterisk PBX镜像,提供IP PBX系统和VoIP网关功能,集成PrivateDial配置、WebSMS、AutoBan入侵防护,支持G.729/G.723.1编解码器,基于Alpine Linux,多阶段构建,持久化存储及Let’s Encrypt TLS集成。
30 收藏0 次下载activemlan镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

asterisk 镜像详细说明

asterisk 使用指南

asterisk 配置说明

asterisk 官方文档

mlan/asterisk 镜像

!travis-ci 测试 !docker 版本 !镜像大小 !docker 拉取量 !docker 星标 !github 星标

此(非***)仓库提供Docker化的Asterisk PBX。

核心功能

  • Asterisk:驱动IP PBX系统和VoIP网关
  • PrivateDial:可自定义的Asterisk配置
  • WebSMS:通过HTTP发送和接收消息、SMS
  • AutoBan:内置入侵检测与防御系统
  • 额外提供G.729和G.723.1音频编解码器
  • 基于Alpine Linux的小体积镜像
  • 基于docker-compose.yml和Makefile文件的演示
  • 使用反向代理Traefik自动集成Let’s Encrypt TLS证书
  • 通过将配置和运行数据整合到/srv实现持久化存储
  • 容器音频:使用主机的PulseAudio socket
  • 使用runit提供初始化方案和服务监控
  • 健康检查
  • 日志定向到Docker守护进程,级别可配置
  • 多阶段构建提供mini、base、full和xtra镜像

标签

采用MAJOR.MINOR.PATCH 语义化版本。除三位版本号外,还可使用两位或一位版本号,指向子系列的最新版本。latest标签引用基于仓库最新提交的构建。

mlan/asterisk仓库包含多阶段构建,可通过mini、base、full和xtra标签选择。mini标签仅包含Asterisk本身;base标签额外包含TLS、日志、WebSMS和AutoBan支持;full添加控制台音频支持;xtra包含所有Asterisk包。

例如,若最新版本为1.0.0,则latest、1.0.0、1.0、1、full、full-1.0.0、full-1.0和full-1均指向同一镜像。

使用方法

配置Asterisk及其组件时需考虑多方面因素。本文讨论基础内容,附加组件详情见附加组件。

若需立即测试镜像,建议克隆GitHub仓库并运行其中的演示:

git clone [***]

Docker Compose示例

以下是使用Docker Compose配置VoIP SIP服务器的示例:

version: '3'

services:
  tele:
    image: mlan/asterisk
    network_mode: bridge                    # 仅用于测试
    cap_add:
      - sys_ptrace                          # 仅用于测试
      - net_admin                           # 允许NFT,AutoBan使用
      - net_raw                             # 允许NFT,AutoBan使用
    ports:
      - "${SMS_PORT-8080}:${WEBSMSD_PORT:-80}" # WEBSMSD端口映射
      - "5060:5060/udp"                     # SIP UDP端口
      - "5060:5060"                         # SIP TCP端口
      - "5061:5061"                         # SIP TLS端口
      - "***-***:***-***/udp"       # RTP端口
    environment:
      - SYSLOG_LEVEL=${SYSLOG_LEVEL-4}      # 日志级别
      - HOSTNAME=${TELE_SRV-tele}.${DOMAIN-docker.localhost}
      - PULSE_SERVER=unix:/run/pulse/socket # 使用主机音频
      - PULSE_COOKIE=/run/pulse/cookie      # 使用主机音频
      - WEBSMSD_PORT=${WEBSMSD_PORT-80}     # WEBSMSD内部端口
    volumes:
      - tele-conf:/srv                      # 持久化存储
      - ./pulse:/run/pulse:rshared          # 使用主机音频
      - /etc/localtime:/etc/localtime:ro    # 使用主机时区

volumes:
  tele-conf:                                # 持久化存储

仓库的demo目录包含上述docker-compose.yml和便捷的Makefile。在demo目录中,可通过以下命令启动容器:

make up

通过以下命令连接容器内的Asterisk命令行界面(CLI):

make cli

在Asterisk CLI中,可输入以下命令查看默认配置的端点(软电话):

pjsip show endpoints

测试完成后,通过以下命令销毁测试容器:

make destroy

环境变量

尽管Asterisk通过配置文件配置,但mlan/asterisk容器内的服务(日志、TLS证书管理、WebSMS附加组件)行为由以下环境变量控制:

变量默认值描述
SYSLOG_LEVEL4日志级别,0-8。0输出最少,8输出最多。
SYSLOG_OPTIONS-SDtS:简化输出,D:丢弃重复项,t:剥离客户端生成的时间戳。
ACME_FILE/acme/acme.json包含TLS证书的文件,由Let's Encrypt通过Traefik提供。
HOSTNAME$(hostname)用于在ACME_FILE中识别相关TLS证书。
TLS_CERTDAYS30自签名TLS证书有效期(天)。
TLS_KEYBITS2048自签名TLS密钥长度(位)。
WEBSMSD_PORT80WebSMS使用的PHP Web服务器端口。未定义或非数字值将禁用PHP Web服务器。

配置文件

Asterisk及其模块通过/etc/asterisk目录下的配置文件配置。mlan/asterisk镜像包含示例配置文件,可作为系统起点。

以下配置文件不含用户特定数据,初始可保持不变:

文件名描述
alsa.confOpen Sound System (ALSA)控制台驱动配置
asterisk.confAsterisk全局配置,包括调试、运行用户和目录结构
ccss.conf呼叫完成补充业务配置
cli_aliases.confAsterisk命令行界面别名
features.conf呼叫功能(转接、监控等)配置
indications.conf地区特定音调指示
logger.conf日志配置
modules.conf模块加载器配置
musiconhold.conf保留音乐配置
pjproject.conf通用pjproject选项
rtp.confRTP配置,包括端口范围

定义Asterisk服务器关键方面(如呼叫流程、SIP中继和电话详情)的配置文件由附加组件PrivateDial管理,详见其文档。

持久化存储

默认情况下,Docker将配置和运行数据存储在容器内,容器删除后数据丢失。因此,建议使用Docker卷挂载配置和假脱机目录,使数据在容器删除后保留。

为实现持久化存储,服务的配置和假脱机目录已整合到/srv下。容器内应用通过符号链接在常规位置访问这些文件。只需将Docker卷挂载到/srv,即可保持应用配置和状态持久化。

上述演示中使用docker-compose的tele-conf卷即实现此目的。使用Docker CLI挂载卷示例:

docker run -d -v tele-conf:/srv ... mlan/asterisk

播种流程

mlan/asterisk镜像的播种目录包含示例配置文件,实际配置目录为空。容器启动时扫描etc/asterisk配置目录,若为空,则将播种目录的示例配置文件复制到配置目录。

播种流程不修改现有配置。若配置目录非空,则启动时不复制文件。升级镜像时,若需使用新版本示例配置,需手动复制或合并。

日志(SYSLOG_LEVEL)

日志输出级别范围0-8:1为紧急日志,2为警报日志,3为严重日志,4为错误日志,5为警告日志,6为通知日志,7为信息日志,8为调试日志。默认SYSLOG_LEVEL=4。

附加组件

mlan/asterisk仓库包含扩展Asterisk功能的附加组件。

PrivateDial

PrivateDial是一套Asterisk配置文件,专为住宅场景设计,支持智能手机的语音、视频、即时消息/SMS及邮件语音信箱功能。

它使用PJSIP 通道驱动,原生支持多个软电话同时连接到同一用户账户/端点。

设计理念是将拨号计划功能与用户数据分离,所有用户特定数据均从主extensions.conf文件中提取。

AutoBan

AutoBan是内置的入侵检测与防御系统。入侵检测由Asterisk实现,Asterisk生成安全事件,AutoBan通过AMI接口监听。

当安全事件发生时,AutoBan开始监控源IP地址。若重复发生安全事件,入侵防御激活,通过Linux内核防火墙nftables丢弃来自***源IP的数据包。

WebSMS

Asterisk原生支持使用扩展SIP方法MESSAGE发送和接收SMS,但许多互联网电话服务提供商(ITSP)不支持此方法,而使用基于HTTP请求的Web API,导致Asterisk服务器无法与外部交换SMS。

WebSMS服务通过两个组件解决此限制:websmsd监听来自ITSP的传入SMS并转发至Asterisk;websms供Asterisk向ITSP发送传出SMS。

WEBSMSD_PORT

WebSMS使用PHP内置Web服务器。环境变量WEBSMSD_PORT=80指定Web服务器监听端口。若WEBSMSD_PORT未定义或为非数字值,PHP Web服务器将禁用,WebSMS随之禁用。

网络

SIP网络配置复杂,以下讨论基础要点。

SIP协议

会话初始协议(SIP)是用于初始化、维护和终止实时会话(语音、视频、消息)的信令协议。

传输层:UDP、TCP和TLS

SIP独立于传输层协议,可使用用户数据报协议(UDP)、传输控制协议(TCP)和流控制传输协议(SCTP)。为在不安全网络链路上保护SIP消息,可使用传输层安全(TLS)加密。媒体流(语音、视频)通常使用实时传输协议(RTP)或安全实时传输协议(SRTP)。

音频流丢包优于重传(导致抖动),因此RTP基于UDP(无连接协议)。SIP信令理想使用TCP(面向连接协议)。尽管多数SIP通信使用UDP,但TCP通常提供更可靠的端点/电话连接。

TLS直接运行在TCP之上,防止***者监听信令链路,但仅提供逐跳加密,所有中间代理需可信,不提供端到端安全。

媒体流可使用安全实时传输协议(SRTP)加密,密钥交换通过SDES或DTSL实现。

端口:5060、5061和***-20000

SIP流量通常使用端口5060(非加密,TCP/UDP)和5061(加密,TLS)。RTP通常使用***-20000动态端口范围,可在客户端自定义以适应防火墙配置。

Docker、iptables和docker-proxy

使用默认bridge网络发布容器端口时,Linux内核防火墙路由规则更新,同时启动代理进程。当前Docker(19.03.8)网络实现基于iptables和docker-proxy,无法发布端口范围,需逐个发布。

RTP通常使用***-20000端口范围(***个端口),这会导致防火墙规则更新和代理进程启动耗时过长(分钟级),容器启动可能停滞。

解决方案:

  1. 使用host网络模式(docker run --network host …),不使用docker-proxy和防火墙规则,但容器无法与Docker网络通信。
  2. 限制RTP端口范围(如***-或-***),在rtp.conf中配置:
    [general]
    rtpstart = ***
    rtpend   = ***
    

网络地址转换(NAT)

网络地址转换(NAT)通过修改IP头中的网络地址信息,将一个IP地址空间重映射到另一个。SIP服务器常使用Docker桥接网络连接Docker本地网络与主机网络;SIP客户端可能连接远程本地网络。

SIP服务器地址

为向NAT后的SIP客户端提供外部网络地址,可在pjsip_transport.conf中显式定义传输的外部地址:

t_wan
type = transport
bind = 0.0.0.0:5060
domain = example.com
external_signaling_address = sip.example.com
external_media_address = sip.example.com

SIP客户端联系人重写

对于连接远程本地网络的端点,在pjsip_wizard.conf中配置:

_nat
endpoint/rewrite_contact = yes
endpoint/direct_media = no
endpoint/rtp_symmetric = yes
endpoint/bind_rtp_to_media_address = yes

严格RTP保护

严格RTP学***与NAT不兼容,启用后会丢弃经过NAT的RTP媒体包,导致单向音频。在rtp.conf中禁用:

[general]
strictrtp = no

ICE、STUN和TURN

更复杂的NAT穿越方法(ICE、STUN或TURN)超出本文范围。

安全:隐私与完整性

传输层安全(TLS)提供呼叫信令加密。Asterisk与SIP客户端TLS配置指南见[Asterisk安全呼叫教程](

查看更多 asterisk 相关镜像 →
andrius/asterisk logo
andrius/asterisk
by andrius
支持所有Asterisk PBX版本(从1.2.40到23.0.0-rc2)的Docker镜像,通过自动化构建和多阶段容器优化,提供生产就绪的PBX解决方案。
111500K+ pulls
上次更新:4 小时前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.