我使用 Asterisk certified/13.13-cert3 并遇到了这个问题。
我有一个像这样的拨号计划:
[extensions]
exten => _X.,1,noop
same => n,ConfBridge(123)
我有一个包含这些选项的会议配置文件。基本上启用 DTMF 直通,以便会议中的每个人都能听到它们。
[default_user]
type=user
dtmf_passthrough=yes
我设置了两个 SIP 软件电话用于测试SIP/user1
,SIP/user2
[user1]
type=friend
host=dynamic
username=user1
secret=password
context=extensions
host=dynamic
qualify=yes
[user2]
type=friend
username=user1
host=dynamic
secret=password
context=extensions
qualify=yes
然后我将这两个用户都加入到会议中。
现在使用 AMI,当我尝试将一方静音时:
Action: MuteAudio
Channel: "SIP/user1-00000000"
Direction: "all"
State: "on"
我发现这对于口语音频来说效果很好,但 DTMF 数字仍在传输。
这是一个错误还是设计使然?我怎样才能避免SIP/user1
听到任何声音,包括 DTMF?
谢谢你的帮助。
答案1
虽然这不能直接回答您的问题,但这可能是您正在寻找的解决方案。默认情况下,会议成员根本不应该听到用户拨打的 DTMF 音,无论是否静音。它们应该在收到时被星号吸收。除非会议上启用了“dtmf_passthrough”选项。因此,如果您在一般情况下不需要其他人听到 DTMF 音,您可以检查此值以确保它已被禁用。