Asterisk 18.4 Dtmf Problem

I have installed Asterisk 18.4.0,
I have a problem with dtmf on both sip and pjsip.
I use rfc2833 in sip.conf and rfc4733 in pjsip.conf.
If I receive a call with rtp payload 96 (a = rtpmap: 96 telephone-event / 8000) the dtmf does not work,
if I receive it with 101 (a = rtpmap: 101 telephone-event / 8000) it works,
can anyone help me?

You’d need to actually show configuration, RTP logging, SIP logging, and Asterisk debug[1].

[1] Collecting Debug Information - Asterisk Project - Asterisk Project Wiki

Thank you for the reply.
If I received this
v=0.
o=- 1635163715726 1 IN IP4 10.101.0.116.
s=Mobicents Media Server.
c=IN IP4 10.101.0.116.
t=0 0.
m=audio 52576 RTP/AVP 8 101.
c=IN IP4 10.101.0.116.
a=sendrecv.
a=rtcp:52577 IN IP4 10.101.0.116.
a=ptime:20.
a=rtpmap:101 telephone-event/8000.
a=rtpmap:8 pcma/8000.
a=ssrc:682811465 cname:pwM+e2B5DOutMgq3.

the Dtmf works,
if i received this :
v=0.
o=- 1635163715726 1 IN IP4 10.101.0.116.
s=Mobicents Media Server.
c=IN IP4 10.101.0.116.
t=0 0.
m=audio 52576 RTP/AVP 8 96.
c=IN IP4 10.101.0.116.
a=sendrecv.
a=rtcp:52577 IN IP4 10.101.0.116.
a=ptime:20.
a=rtpmap:96 telephone-event/8000.
a=rtpmap:8 pcma/8000.

the dtmf doesn’t works.
Is there any problems with payload 96 in the new versione of asterisk??
My sip trunk configuration:

[pippo-proxy]
type=friend
context=mainrg
disallow=all
allow = alaw
insecure=port,invite
nat=no
host=10.101.0.199
canreinvite=no
progressinband=always
dtmfmode=rfc2833
directmedia=no
requirecalltoken=no
qualify=yes
qualifyfreq=60
allowoverlap=dtmf
rfc2833compensate=yes

What matters is what you send in the SDP, not what you receive. It may also be relevant whether you have early or late offer SDP.

Could you provide the chan_pjsip version, as chan_sip is deprecated, and your chan_sip configuration has a lot of questionable settings and obsolete parameter names, that are not relevant to your problem, but suggest copy and paste coding.

I’ve installed asterisk 19 and use pjsip,
here my configuration
[general]
allowoverlap = dtmf

[pippo_proxy]
insecure = invite

[pippo_proxy]
type = aor
contact = sip:10.101.0.199
qualify_frequency = 60

[pippo_proxy]
type = identify
endpoint = pippo_proxy
match = 10.101.0.199

[pippo_proxy]
type = endpoint
context = mainrg
dtmf_mode = auto
disallow = all
allow = alaw
allow = ulaw
rtp_timeout = 60
direct_media = no
inband_progress = always
allow_transfer = no
cos_audio = 5
language = it
media_use_received_transport = yes
send_pai = yes
user_eq_phone = yes
inband_progress = always
asymmetric_rtp_codec = yes
allow_subscribe = yes
aors = pippo_proxy

example of call with dtmf ok
I RECEIVED:

U 2021/11/02 11:41:16.113108 10.101.0.199:5060 → 10.101.0.204:5060 #5
INVITE sip:0918033008@10.101.0.122 SIP/2.0.

v=0.
o=root 680017394 680017394 IN IP4 10.101.0.120.
s=Asterisk PBX 13.5.0.
c=IN IP4 10.101.0.120.
t=0 0.
m=audio 26036 RTP/AVP 8 101.
a=rtpmap:8 PCMA/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=maxptime:150.
a=sendrecv.

and I answer
U 2021/11/02 11:41:16.118852 10.101.0.204:5060 → 10.101.0.199:5060 #7
SIP/2.0 183 Session Progress

v=0.
o=- 680017394 680017396 IN IP4 10.101.0.204.
s=Asterisk.
c=IN IP4 10.101.0.204.
t=0 0.
m=audio 16430 RTP/AVP 8 101.
a=rtpmap:8 PCMA/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=ptime:20.
a=maxptime:150.
a=sendrecv.

example of call with dtmf ko

I RECEIVED
U 2021/11/02 11:50:59.275888 10.101.0.199:5060 → 10.101.0.204:5060 #25
INVITE sip:0918033008@dctvoip.it;user=phone SIP/2.0.

v=0.
o=- 0 1 IN IP4 10.101.0.165.
s=-.
c=IN IP4 10.101.0.165.
t=0 0.
m=audio 22172 RTP/AVP 18 8 96.
a=fmtp:18 annexb=no.
a=rtpmap:96 telephone-event/8000.
a=sendrecv.
a=ptime:20.

and I answer
U 2021/11/02 11:50:59.281711 10.101.0.204:5060 → 10.101.0.199:5060 #27
SIP/2.0 183 Session Progress.
.
v=0.
o=- 0 3 IN IP4 10.101.0.204.
s=Asterisk.
c=IN IP4 10.101.0.204.
t=0 0.
m=audio 19968 RTP/AVP 8 96.
a=rtpmap:8 PCMA/8000.
a=rtpmap:96 telephone-event/8000.
a=fmtp:96 0-16.
a=ptime:20.
a=maxptime:150.
a=sendrecv.

Why payload 96 doesn’t works???

Any update?
can someone help me?

You are going to have to trace the DTMF through. Use sngrep to confirm it is arriving. Use rtp set debug on and DTMF debugging, to show whether it is reaching Asterisk and how Asterisk is recognizing it.

Turn up the debugging and look for messages about bad codec numbers.

You have early offer SDP and Asterisk seems to be accepting 96 in the “negotiation” phase.

Incidentally:

is invalid. insecure=invite is done, in chan_pjsip by only specifying outbound authentication. Even if chan_sip, it has no effect when there is no secret.

Also, we generally prefer to see protocol traces as produced by Asterisk, with “pjsip sete logger on” or “sip set debug on” and with with both the sip and the SDP, unless we are specifically looking for something going wrong upstream of Asterisk.

Also, there used to be a forum policy not to bump for at least 24 hours.

Thanks for the reply,
I activated pjsip set logger on and rtp set debug on,
and here the sip trace:

<— Received SIP request (1246 bytes) from UDP:10.101.0.122:5060 —>
INVITE sip:0918033008@dctvoip.it;user=phone SIP/2.0
Record-Route: sip:10.101.0.122;lr;ftag=5e532d70.Acc137.B2b2
Via: SIP/2.0/UDP 10.101.0.122:5060;branch=z9hG4bK116.9ed545c4a9077aa619bc8defadfc3c8d.0
Via: SIP/2.0/UDP 10.101.0.164:5060;branch=z9hG4bK.iIiIiI.ac15533d.3f26c9ce.Acc0137.Tra00018
Call-ID: 2825975888f4ef02-Acc137-B2b2@212.46.84.36
From: “+393924998466” sip:+393924998466@telecomitalia.it;user=phone;tag=5e532d70.Acc137.B2b2
To: sip:+390918033008@dctvoip.it;user=phone
CSeq: 1 INVITE
Contact: sip:+393924998466@10.101.0.164;transport=udp
Record-Route: sip:AcCaPl0137.AcCpNo0629.AcCiSt02.DiAgOuT00.Outgoing.ModB2B.xCSCF-ApLz00141.PnO00602.IsT00002.iIiIiI.ac15533d@10.101.0.164:5060;transport=UDP;lr
Max-Forwards: 59
Accept: application/sdp, application/isup, application/xml
Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, MESSAGE, NOTIFY, REGISTER, INFO, REFER, SUBSCRIBE, PUBLISH, PRACK, UPDATE
P-Asserted-Identity: sip:+393924998466@telecomitalia.it;user=phone
Supported: 100rel
Content-Length: 179
Content-Type: application/sdp

v=0
o=- 0 1 IN IP4 10.101.0.165
s=-
c=IN IP4 10.101.0.165
t=0 0
m=audio 20546 RTP/AVP 18 8 96
a=fmtp:18 annexb=no
a=rtpmap:96 telephone-event/8000
a=sendrecv
a=ptime:20

<— Transmitting SIP response (1169 bytes) to UDP:10.101.0.122:5060 —>
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP 10.101.0.122:5060;rport=5060;received=10.101.0.122;branch=z9hG4bK116.9ed545c4a9077aa619bc8defadfc3c8d.0
Via: SIP/2.0/UDP 10.101.0.164:5060;branch=z9hG4bK.iIiIiI.ac15533d.3f26c9ce.Acc0137.Tra00018
Record-Route: sip:10.101.0.122;lr;ftag=5e532d70.Acc137.B2b2
Record-Route: sip:AcCaPl0137.AcCpNo0629.AcCiSt02.DiAgOuT00.Outgoing.ModB2B.xCSCF-ApLz00141.PnO00602.IsT00002.iIiIiI.ac15533d@10.101.0.164:5060;transport=UDP;lr
Call-ID: 2825975888f4ef02-Acc137-B2b2@212.46.84.36
From: “+393924998466” sip:+393924998466@telecomitalia.it;user=phone;tag=5e532d70.Acc137.B2b2
To: sip:+390918033008@dctvoip.it;user=phone;tag=366ce69f-dff8-4daa-9875-9fde26e784b0
CSeq: 1 INVITE
Server: Asterisk PBX 19.0.0
Contact: sip:10.101.0.204:5060
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Content-Type: application/sdp
Content-Length: 216

v=0
o=- 0 3 IN IP4 10.101.0.204
s=Asterisk
c=IN IP4 10.101.0.204
t=0 0
m=audio 14714 RTP/AVP 8 96
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=ptime:20
a=maxptime:150
a=sendrecv

Rtp didn’t log nothing and dtmf not passed.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.