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 以供参考。
我配置了 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 以供参考。