2

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()
Guss
  • 30,470
  • 17
  • 104
  • 128
Anthony
  • 5,275
  • 11
  • 50
  • 86

1 Answers1

2

Found it. 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 https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Function_TALK_DETECT for reference.

Anthony
  • 5,275
  • 11
  • 50
  • 86
  • 1
    Yup! Talk detection requires additional processing overhead (can't use native bridging, have to pass the media through a DSP, etc.) - hence, you have to enable it with that channel function. Glad it worked once you found the right docs! – Matt Jordan Mar 16 '15 at 03:44