Я использую сертификат Asterisk / 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?
Спасибо за любую помощь.
Хотя это не дает прямого ответа на ваш вопрос, это может быть решение, которое вы ищете. По умолчанию участники конференции не должны слышать DTMF-сигналы, набираемые пользователями, независимо от того, отключены они или нет. Они должны быть просто поглощены звездочкой при получении. Если для конференции не включена опция dtmf_passthrough. Поэтому, если вам не нужно, чтобы тональные сигналы DTMF были слышны другими при обычных обстоятельствах, вы можете проверить это значение, чтобы убедиться, что оно отключено.