We are using Asterisk 18.0.0-rc2 to route outbound calls from our in-house IVR system to our upline SIP provider. A call is eventually answered by one of our customers who interacts with the call using DTMF. The problem we are having is that for about 1 in 10 of these calls, the RTP Events (with the DTMF information) don’t make it back our IVR. I’m capturing all the relevant network traffic with Wireshark, and I can see that the RTP Event packets are being correctly sent from our SIP provider to Asterisk, but sometimes Asterisk filters out the RTP Events when it forwards the RTP stream along to our IVR.
I can’t see any rhyme or reason as to why this works with most calls and only fails on some. We are using PJSIP. Both trunks (to our SIP Provider and to the IVR) are currently configured with “dtmf_mode=auto” (although I have experimented with various combinations of the DTMF settings).
The SDP seems to correctly specify the telephone-events in all legs of the communication
m=audio 15602 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
Here are two images of the Wireshark captures to illustrate what is happening. Notice that the RTP Events are there in the first image (from our SIP provider to Asterisk). But when Asterisk passes the RTP stream onto our IVR, the RTP Events are mysteriously missing, leaving gaps in the RTP sequence numbers.
I’m very curious about what kinds of things might cause this behavior, and I would appreciate any head start in the right direction. I am able to run Asterisk in debug, but I would welcome some advice about where to start looking…
Thanks,
Jeff Wilhite