从 URI 播放星号

问题描述 投票:0回答:1

我有一个 Asterisk 20.x 服务器,用于语音邮件流程。

为了使用 PBX 服务器,我有一个 ARI 应用程序来处理我的用例的事件和行为。

我遇到的问题是,由于 ARI 应用程序和 Asterisk 服务器不在同一服务器上,我需要一种方法来告诉 Asterisk 通过 URI 播放音频文件,如文档 Asterisk 文档中所述。

我的本地设置工作正常,但没有代理配置,也没有身份验证,因为它不是产品环境。

有谁知道在哪里禁用代理并为 Asterisk 内发出的请求添加身份验证以检索音频文件?

这是我在 extension.conf 中尝试的:

exten => _X.,n,Set(CURL_OPT(userpwd)=user:password)

我还在 bashrc 文件中添加了 no_proxy 环境变量。

但是。我仍然得到:[5月2日11:11:11]警告[30995][C-00000868]:file.c:824 ast_openstream_full:文件my-domain.com/1724662913.4302-5142129842.wav不以任何格式存在

该请求在 Postman 中也有效。问题出在星号上。

asterisk
1个回答
0
投票

1)验证 Curl 模块配置:确保在 Asterisk 安装中正确加载和配置 Curl 模块。您可以在 module.conf 文件中检查这一点。确保 res_curl.so 模块未注释并加载。

2)检查 Curl 选项:您已尝试在拨号计划中设置 CURL_OPT(userpwd) 选项,该选项应该通过身份验证凭据。确保您提供的凭据正确并且具有访问音频文件所需的权限。

3)验证代理设置:如果您在环境中未使用代理,则不需要显式配置任何代理设置。但是,如果您的系统上配置了代理设置,您可能需要确保 Asterisk 知道它们。检查您的 Asterisk 配置文件中是否有任何与代理相关的设置,如果不需要,请将其删除。

4)检查防火墙和网络配置:确保没有防火墙规则或网络配置阻止从 Asterisk 到托管音频文件的远程服务器的传出连接。使用curl或wget等工具测试从Asterisk服务器到远程服务器的连接以确认。

5)查看 Asterisk 日志:检查 Asterisk 日志中是否有任何其他错误消息或警告,这些消息或警告可能会帮助您更深入地了解无法检索音频文件的原因。您提供的警告表明 Asterisk 找不到音频文件,这可能表明文件路径或权限存在问题。 在 Asterisk 控制台中进行调试:您可以在 Asterisk 中启用详细日志记录,并在发出触发音频文件播放的调用时观察控制台输出。这可能会提供有关问题所在的更详细信息。

6)验证 URI 格式:仔细检查用于引用音频文件的 URI 格式是否正确且可访问。确保 URI 可从 Asterisk 服务器访问,并且它指向音频文件的正确位置。

7)考虑替代方法:如果您仍然遇到问题,请考虑替代方法,例如在 Asterisk 服务器上本地托管音频文件或使用不同的方法访问远程音频文件,例如 SCP 或 FTP。

通过系统地执行这些步骤,您应该能够识别并解决阻止 Asterisk 从远程服务器检索音频文件的问题。我希望这对你有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.