Asterisk 13 ARI 未触发 "ChannelTalkingStart" 事件

Asterisk 13 ARI not firing "ChannelTalkingStart" events

我配置了 Asterisk 13 并调试了所有接收到的事件,但我无法让它触发 ChannelTalkingStart 事件。如果我在 phone 上按下提示音,它会触发 ChannelDtmfReceived,所以我知道它可以听到我的声音。

我需要做什么特别的事情才能接收谈话活动吗?我正在尝试检测沉默并做出相应的反应。 (WaitForSilence(1.5) 曾经做什么)

更新:我认为这与 https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Function_TALK_DETECT 有关 我尝试将其添加到扩展程序中,但没有任何区别:

exten => 1002     ,1,NoOp()
 same =>           n,Set(TALK_DETECT(set)=1000,1500)
 same =>           n,Statis(MyApp)
 same =>           n,Hangup()

找到了。对于那些使用 PHPARI.org 的人,它是:

$this->phpariObject->channels()->channel_set_variable($this->stasisChannelID, 'TALK_DETECT(set)', '1000,1500');

基本上谈话检测是关闭的,直到你专门打开它。您可能需要调整 1000,1500 以更好地满足您的目的。请参阅 https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Function_TALK_DETECT 以供参考。