Search code examples
asteriskphpari

Asterisk 13 ARI not firing "ChannelTalkingStart" events


I have Asterisk 13 configured and debugging all received events, but I can't get it to fire a ChannelTalkingStart event. If I press tones on my phone it does fire ChannelDtmfReceived, so I know it can sorta hear me.

Is there something special I have to do to receive talking events? I'm trying to detect silence and react accordingly. (What WaitForSilence(1.5) used to do)

Update: I think it has something to do with https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Function_TALK_DETECT I tried adding this to the extension, but it didn't make a difference:

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

Solution

  • For those using PHPARI.org, it is:

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

    Basically, talk detection is off until you specifically turn it on. You may want to adjust the 1000,1500 to better fit your purposes.

    See Asterisk Documentation — TALK_DETECT() for reference.