Open skainz92 opened 3 months ago
I have found the following:
session:setVariable("jitterbuffer_msec", "60"); session:setVariable("rtp_jitter_buffer_during_bridge", "true"); session:setVariable("rtp_manual_rtp_bugs", "FLUSH_JB_ON_DTMF"); session:setVariable("execute_on_answer", "spandsp_start_dtmf");
On the leg that does the detection, setting the jitterbuffer to 60ms, and setting FLUSH_JB_ON_DTMF is said to be working for others, but sadly it doesnt for me. Still the same behaviour.
The log says: Setting Jitterbuffer to 60ms, It does NOT say "PAUSE Jitterbuffer", so i guess its active. It's like freeswitch is not resetting the Jitterbuffer on receiving the dtmf tone.
It seems like freeswitch is only resetting the jitterbuffer when receiving a dtmf key via rfc2833. What works perfectly for me is the following:
When i receive a call on freeswitch, i bridge it to a seperate system ( kamailio + rtpengine ) which does inband detection + removal + generating the rfc2833. from here i bridge the call back to freeswitch where i have set jitterbuffer to 120msec and FLUSH_JB_ON_DTMF.
So the call flow is as follows: FreeswitchA -> ( Kamailio + RTPengine ) -> FreeswitchA
This seems to be working perfectly. I dont hear the inband tones, and i get the rfc2833 events.
rtpengine does the detection and removal ( like freeswitch, with 0,5sec. of dtmf bleed ) freeswitch receives the rfc2833 AND the 0,5sec inband tone, but executes the FLUSH_JB_ON_DTMF so that all you hear is silence.
This however creates the need for an additional System that would not be needed if freeswitch reset the jitterbuffer when spandsp_start_dtmf detects an inband tone.
Does anybody know if this behavior is intended?
Hello,
im having a strange problem with inband detection and silence-generation. I have two call legs, the a-leg is sending dtmf via inband and the b-leg wants rfc2833, but also listens for inband. The b-leg receives rfc2833 events, but can also hear parts of the inband dtmf, which causes dulicate keys.
Im using
session:setVariable("execute_on_answer", "spandsp_start_dtmf")
on the a-leg to listen for inband tones.when i press a key for 4seconds, i can hear a short beep ( < 0.5s ), followed by silence ( for default-dtmf-duration i guess ) and then i can hear the tone generated on the a-leg in b-leg again until i stop pressing the key.
It is like spandsp needs a little time to recognize it as a dtmf-tone, also <0.5sec ( which is too much if you dont want to receive inband on the b-leg ) then when it does, it starts generating rfc2833 for the defined default-dtmf-duration of the sip-profile while inserting silence, and when default-dtmf-duration is exceeded and stops inserting silence, you can hear the inband again.
I already tried messing with the rx_threshold of spandsp, but even when i get no "miss", only "hits" the problem still persists.
First of all - is this the intended way to handle inband-rfc2833 transcoding? Is there a way to tweak the inband-detection to get rid of that 0.5s inband-tone in the beginning? Is there a way to keep generating the rfc2833 events ( + inserting silence ) as long as the a-leg sends the inband-tone regardless of default-dtmf-duration?
thank you very much!
regards,