Asterisk 18 Won’t Transcode DTMF To Inband
Hi,
I’m using Asterisk 18 to receive a call via SIP, dial a different SIP
destination and bridge them together.
However, even if the destination indicates that it doesn’t support telephone-event, Asterisk is still sending DTMF as events, not transcoding to inband.
Asterisk is recognising inband DTMF coming in to it, but if it receives DTMF in RTP events it just forwards them on instead of transcoding.
eg, the SDP in the INVITE that Asterisk sent out:
v=0. o=- 1051458170 1051458170 IN IP4 88.151.41.28. s=Asterisk. c=IN IP4 88.151.41.28. t=0 0. m=audio 13470 RTP/AVP 8 0 3 9 110 117 119 101. a=rtpmap:8 PCMA/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:3 GSM/8000. a=rtpmap:9 G722/8000. a=rtpmap:110 speex/8000. a=rtpmap:117 speex/16000. a=rtpmap:119 speex/32000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-16. a=ptime:20. a=maxptime:60. a=sendrecv.
The SDP in the response, notably without telephone-event:
v=0. s=sip call. c=IN IP4 109.159.136.164. t=0 0. m=audio 63356 RTP/AVP 8 0 3 9. a=rtpmap:8 PCMA/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:3 GSM/8000. a=rtpmap:9 G722/8000. a=ptime:20. a=sendrecv.
Any idea how I can fix this?
Cheers, Kingsley.
—
12 thoughts on - Asterisk 18 Won’t Transcode DTMF To Inband
I forgot to mention that pjsip.conf for this endpoint (that doesn’t support telephone-event) already has this:
dtmf_mode=auto
Cheers, Kingsley.
—
What version of 18? Have you enabled Asterisk debug[1] and looked to see if it showed anything? Does Echo behave the same way?
[1] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information
Thanks.
I tried to find the precise version but I got stuck at this point:
# asterisk -V
Asterisk GIT-master-cc127a999cM
#
Within /usr/src/asterisk I tried this
# grep -riE ‘version\b *18’ .
#
but it didn’t match any lines. So I’m not quite sure what actual version this is. Any idea how I can tell from the GIT string?
Regarding the debugging, thanks, that’s useful. I’ve emailed the carrier so that we can schedule another test. I’ll post the results here when we can do some more test calls with the debugging enabled.
Cheers, Kingsley.
—
That’s the master branch from around March or so, not 18.
Wow, all this time I thought I was running 18! What version would it be? How can I tell?
Should I download and compile this instead?
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Cheers, Kingsley.
—
Wow, all this time I thought I was running 18! What version would it be? How can I tell?
Should I download and compile this instead?
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Cheers, Kingsley.
—
It’s not a version. It’s the development branch at a point in time.
If you want to be running Asterisk 18 and a known released version, yes.
Right OK thanks, I’ll do that and see whether it behaves any differently.
Cheers, Kingsley.
—
Hi,
I have built a new Asterisk installation:
root@gw9:/tmp# asterisk -V
Asterisk 18.7.1
It still does the same thing, which is
a. Asterisk receives INVITE containing SDP telephone-event b. Asterisk uses Dial with pjsip and sends INVITE to destination including SDP telehone-event c. Asterisk receives 200 OK back from destination WITHOUT telephone-
event d. Asterisk forwards DTMF received to the destination in RTP events
I’ve grabbed some debug info as per https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information and also have a pcap file containing all SIP and RTP.
To save me spamming list list, may I send these files to your personal email address Joshua C. Colp ?
These are the files:
kingsley@gandalf:/tmp$ ls -l *gz
-rw-r–r– 1 kingsley kingsley 40813 Oct 22 15:00 astlog.gz
-rw-rw-r– 1 kingsley kingsley 358895 Oct 22 14:57 dtmf-test.pcap.gz
pjsip.conf contains these settings for the destination endpoint:
[opensips-ipx]
type=endpoint send_rpid=no trust_id_inbound=yes
; change this when we write the custom context for it:
context=from-pubopensips aors=opensips-ipx-vip-a,opensips-ipx-vip-b,opensips-ipx-vip-c redirect_method=uri_pjsip disallow=all allow=alaw allow=ulaw allow=g722
dtmf_mode=auto
Cheers, Kingsley.
—
I don’t provide direct support like that. As there seems to be a bug and you have a case that reproduces it with logs, then you can file an issue[1]
and the current individual doing bug triage will look. If it is accepted there is no time frame on when it would get looked into and resolved.
[1] https://issues.asterisk.org/jira
Thanks. Report submitted.
Cheers, Kingsley.
—
This turned out to be a brain fart on my part, not a bug in Asterisk. Thanks for your help and sorry to waste your time …
Cheers, Kingsley.
—