<div dir="ltr"><div dir="ltr">On Wed, Dec 18, 2019 at 8:22 AM Richard Frith-Macdonald <<a href="mailto:richard.frith-macdonald@engagehub.com">richard.frith-macdonald@engagehub.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> On 18 Dec 2019, at 11:42, Joshua C. Colp <<a href="mailto:jcolp@sangoma.com" target="_blank">jcolp@sangoma.com</a>> wrote:<br>
> <br>
> On Wed, Dec 18, 2019 at 7:34 AM Richard Frith-Macdonald <<a href="mailto:richard.frith-macdonald@engagehub.com" target="_blank">richard.frith-macdonald@engagehub.com</a>> wrote:<br>
> I'm using ARI to set up a bridge with two calls (one inbound, one outbound), where I want to receive DTMF events from both calls but stop the DTMF audio being passed through in either direction.<br>
> The bridge is created as mixing,dtmf_events,proxy_media and the two channels are each added using /ari/bridges/BridgeID/addChannel with absorbDTMF = 1.<br>
> It seems to be operating as expected, except that the tones from the dialed mobile phone (outgoing call via Colt) are audible to the dialing handset (inbound call to asterisk from softphone).<br>
> Please could anyone provide a ponter to what I might be doing wrong?<br>
> <br>
> What is the technology in use for the channels? Does DTMF show up if you enable DTMF logging in logger.conf? If it's RTP do you see it being sent in "rtp set debug on"?<br>
<br>
Both channels are using pjsip, and both show up in the DTMF logger.<br>
<br>
The log for a tone from the mobile shows a number of RTP packets read around the DTMF:<br>
<br>
[Dec 18 11:54:17] VERBOSE[22198] res_rtp_asterisk.c: Got RTP RFC2833 from <a href="http://172.24.8.4:14370" rel="noreferrer" target="_blank">172.24.8.4:14370</a> (type 101, seq 000851, ts 1003374928, len 000004, mark 1, event 00000005, end 0, duration 00080)<br>
[Dec 18 11:54:17] DTMF[22198] channel.c: DTMF begin '5' received on PJSIP/Colt2-0000001a<br>
[Dec 18 11:54:17] DTMF[22198] channel.c: DTMF begin passthrough '5' on PJSIP/Colt2-0000001a<br>
...<br>
[Dec 18 11:54:17] VERBOSE[22198] res_rtp_asterisk.c: Got RTP RFC2833 from <a href="http://172.24.8.4:14370" rel="noreferrer" target="_blank">172.24.8.4:14370</a> (type 101, seq 000858, ts 1003374928, len 000004, mark 0, event 00000005, end 1, duration 02480)<br>
[Dec 18 11:54:17] DTMF[22198] channel.c: DTMF end '5' received on PJSIP/Colt2-0000001a, duration 310 ms<br>
[Dec 18 11:54:17] DTMF[22198] channel.c: DTMF end accepted with begin '5' on PJSIP/Colt2-0000001a<br>
[Dec 18 11:54:17] DTMF[22198] channel.c: DTMF end passthrough '5' on PJSIP/Colt2-0000001a<br>
[Dec 18 11:54:17] VERBOSE[22198] res_rtp_asterisk.c: Got RTP packet from <a href="http://172.24.8.4:14370" rel="noreferrer" target="_blank">172.24.8.4:14370</a> (type 101, seq 000859, ts 1003374928, len 000004)<br>
[Dec 18 11:54:17] VERBOSE[22198] res_rtp_asterisk.c: Got RTP RFC2833 from <a href="http://172.24.8.4:14370" rel="noreferrer" target="_blank">172.24.8.4:14370</a> (type 101, seq 000859, ts 1003374928, len 000004, mark 0, event 00000005, end 1, duration 02480)<br>
<br>
The log of RTP to the other end looks like this:<br>
<br>
[Dec 18 11:54:17] VERBOSE[22196][C-00000017] res_rtp_asterisk.c: Sent RTP packet to <a href="http://10.16.25.202:8000" rel="noreferrer" target="_blank">10.16.25.202:8000</a> (type 00, seq 000971, ts 1003379088, len 000160)<br>
<br>
<br>
I presume the RTP packets of type 101 with event 00000005 are signalling the dtmf tone 5 for some duration.<br>
They don't seem to be forwarded on to the other end in the same format though.<br>
<br>
> Essentially you need to determine if it's DTMF in the audio stream alongside out of band, or if DTMF is actually being detected/suppressed from the audio stream but still passed on out of band. <br>
<br>
I don't really know what th DTMF logs 'begin passthrough' and 'end passthrough' actually mean though. Of course I want the DMF tones to appear as events in Stasis (which they do), but I dn't want them passed through the bridge to be heard by the other end.<br></blockquote><div><br></div><div>For the non-mobile leg is it configured with dtmf_mode=rfc4733? If so then it looks as though from the perspective of Asterisk it is not actually forwarding DTMF through, at least DTMF it has been told about. If the DTMF is also coming in over the audio stream itself, then that would be forwarded on as-is since it is the responsibility of the remote party to suppress that audio and not Asterisk.</div><div><br></div><div>A test would be sending the mobile leg to Record() and seeing if the DTMF is recorded. Record() doesn't record DTMF that Asterisk knows about, but merely records the audio stream as received. If it's played back and there is DTMF then it's not being suppressed as expected by the remote side.</div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:tahoma,sans-serif"><font color="#073763">Joshua C. Colp</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Asterisk Technical Lead</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Sangoma Technologies</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Check us out at <a href="http://www.sangoma.com" target="_blank">www.sangoma.com</a> and <a href="http://www.asterisk.org" target="_blank">www.asterisk.org</a></font><br></div></div></div></div></div></div></div></div></div></div></div>