DTMF with direct media

Hi guys,
I’m having some difficulties establishing a topology using direct media.
The issue is when im using the direct_media = true the DTMF does not work.

My topology is:

SBC with PSTN
Server 1 with Asterisk 18.2.2
Server 2 with Asterisk 18.2.2

Server 1 has an pjsip endpoint to SBC and another endpoint to a Server 2.
Server 2 has an pjsip endpoint to Server 1

Basically the call ingress by SBC endpoint in Server 1 and forward to the Server 2.
When direct_media = false on all endpoints de rtp flow between three IPs and de DTMF works fine, but when i configure the direct media = true the rtp flow just between Server 2 and SBC (was expected and is what i want) but the DTMF doesent works.
The DTMF events does not apparece in a log of any server.

The DTMF type to all endpoints is rfc4733.

Below is the configuration of an endpoint:


ParameterName : ParameterValue
===================================================================================================
100rel : yes
accept_multiple_sdp_answers : false
accountcode :
acl :
aggregate_mwi : true
allow : (alaw|ulaw|vp8)
allow_overlap : true
allow_subscribe : true
allow_transfer : true
aors : xxxxxxxxx
asymmetric_rtp_codec : false
auth : xxxxxxxxx
bind_rtp_to_media_address : false
bundle : false
call_group :
callerid : unknown
callerid_privacy : allowed_not_screened
callerid_tag :
codec_prefs_incoming_answer : prefer:pending, operation:intersect, keep:all, transcode:allow
codec_prefs_incoming_offer : prefer:pending, operation:intersect, keep:all, transcode:allow
codec_prefs_outgoing_answer : prefer:pending, operation:intersect, keep:all, transcode:allow
codec_prefs_outgoing_offer : prefer:pending, operation:union, keep:all, transcode:allow
connected_line_method : invite
contact_acl :
context : from-internal
cos_audio : 0
cos_video : 0
device_state_busy_at : 0
direct_media : true
direct_media_glare_mitigation : none
direct_media_method : invite
disable_direct_media_on_nat : false
dtls_auto_generate_cert : No
dtls_ca_file :
dtls_ca_path :
dtls_cert_file :
dtls_cipher :
dtls_fingerprint : SHA-256
dtls_private_key :
dtls_rekey : 0
dtls_setup : active
dtls_verify : No
dtmf_mode : rfc4733
fax_detect : false
fax_detect_timeout : 0
follow_early_media_fork : true
force_avp : false
force_rport : true
from_domain :
from_user : xxxxxxxxx
g726_non_standard : false
ice_support : false
identify_by : username
ignore_183_without_sdp : false
inband_progress : false
incoming_call_offer_pref : local
incoming_mwi_mailbox :
language : pt_BR
mailboxes :
max_audio_streams : 1
max_video_streams : 1
media_address :
media_encryption : no
media_encryption_optimistic : false
media_use_received_transport : false
message_context :
moh_passthrough : false
moh_suggest : default
mwi_from_user :
mwi_subscribe_replaces_unsolicited : no
named_call_group :
named_pickup_group :
notify_early_inuse_ringing : false
one_touch_recording : false
outbound_auth : xxxxxxxxx
outbound_proxy :
outgoing_call_offer_pref : remote_merge
pickup_group :
preferred_codec_only : false
record_off_feature : automixmon
record_on_feature : automixmon
refer_blind_progress : true
rewrite_contact : true
rpid_immediate : false
rtcp_mux : false
rtp_engine : asterisk
rtp_ipv6 : false
rtp_keepalive : 0
rtp_symmetric : true
rtp_timeout : 0
rtp_timeout_hold : 0
sdp_owner : -
sdp_session : Asterisk
send_connected_line : yes
send_diversion : true
send_history_info : false
send_pai : false
send_rpid : false
set_var :
srtp_tag_32 : false
stir_shaken : false
sub_min_expiry : 0
subscribe_context :
suppress_q850_reason_headers : false
t38_udptl : false
t38_udptl_ec : none
t38_udptl_ipv6 : false
t38_udptl_maxdatagram : 0
t38_udptl_nat : false
timers : yes
timers_min_se : 90
timers_sess_expires : 1800
tone_zone :
tos_audio : 0
tos_video : 0
transport :
trust_connected_line : yes
trust_id_inbound : false
trust_id_outbound : false
use_avpf : false
use_ptime : false
user_eq_phone : false
voicemail_extension :
webrtc : no

Did I forget some setting for this to work?

If you meet the conditions for direct media, DTMF in both RFC 4733 and inband forms will completely bypass Asterisk, so any failures will be related to the end systems.

It’s difficult to analyze listings of all possible settings, as one has to remember the defaults for everything.

In this case the end system in my side is an asterisk with a IVR. The strage is the rtp working fine and the DTMF not.
Im backing to this topology and will do more tests.
Im asking for captures on SBC side to compare the flow when the direct media is true e false.
if I find something more concrete about the not working, I will open a new topic with more details
Thanks

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