I have kind a weird problem with encrypting Asterisk connections. When I am using media_encryption = sdes, everything is working fine and I can establish connection with sound. On the other hand, when i switch media_encryption to dtls and try to make connection, Asterisk CLI with “rtp set debug on” returns:
[Aug 11 10:24:10] ERROR[43303][C-00000001]: res_rtp_asterisk.c:3078 __rtp_recvfrom: DTLS failure occurred on RTP instance '0x7fb1100674e0' due to reason 'unsupported protocol', terminating
[Aug 11 10:24:10] WARNING[43303][C-00000001]: res_rtp_asterisk.c:6511 ast_rtcp_read: RTCP Read error: Unspecified. Hanging up.
endpoint configuration:
ParameterName : ParameterValue
=========================================================================================================
100rel : yes
accept_multiple_sdp_answers : false
accountcode :
acl :
aggregate_mwi : true
allow : (ulaw)
allow_overlap : true
allow_subscribe : true
allow_transfer : true
aors : sec_bob
asymmetric_rtp_codec : false
auth : sec_bob
bind_rtp_to_media_address : false
bundle : false
call_group :
callerid : <unknown>
callerid_privacy : allowed_not_screened
callerid_tag :
connected_line_method : invite
contact_acl :
context : sec_call
cos_audio : 0
cos_video : 0
device_state_busy_at : 0
direct_media : false
direct_media_glare_mitigation : none
direct_media_method : invite
disable_direct_media_on_nat : false
dtls_auto_generate_cert : No
dtls_ca_file : /usr/src/asterisk/keys/myCA.pem
dtls_ca_path :
dtls_cert_file : /usr/src/asterisk/keys/asterisk.crt
dtls_cipher :
dtls_fingerprint : SHA-256
dtls_private_key : /usr/src/asterisk/keys/asterisk.key
dtls_rekey : 0
dtls_setup : actpass
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 :
g726_non_standard : false
ice_support : true
identify_by : username,ip
ignore_183_without_sdp : false
inband_progress : false
incoming_answer_codec_prefs : prefer:pending, operation:intersect, keep:all, transcode:unspecified
incoming_call_offer_pref : local
incoming_mwi_mailbox :
incoming_offer_codec_prefs : prefer:pending, operation:intersect, keep:all, transcode:allow
language :
mailboxes :
max_audio_streams : 1
max_video_streams : 1
media_address :
media_encryption : dtls
media_encryption_optimistic : false
media_use_received_transport : true
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 :
outbound_proxy :
outgoing_answer_codec_prefs : prefer:pending, operation:intersect, keep:all, transcode:unspecified
outgoing_call_offer_pref : remote
outgoing_offer_codec_prefs : prefer:pending, operation:union, keep:all, transcode:allow
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 : true
rtp_engine : asterisk
rtp_ipv6 : false
rtp_keepalive : 0
rtp_symmetric : false
rtp_timeout : 0
rtp_timeout_hold : 0
sdp_owner : -
sdp_session : Asterisk
send_connected_line : yes
send_diversion : true
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 : transport-tls
trust_connected_line : yes
trust_id_inbound : false
trust_id_outbound : false
use_avpf : true
use_ptime : false
user_eq_phone : false
voicemail_extension :
webrtc : no
transport config:
ParameterName : ParameterValue
================================================================
allow_reload : false
async_operations : 1
bind : 0.0.0.0:5061
ca_list_file :
ca_list_path :
cert_file : /usr/src/asterisk/keys/asterisk.crt
cipher :
cos : 0
domain :
external_media_address :
external_signaling_address :
external_signaling_port : 0
local_net :
method : tlsv1_2
password :
priv_key_file : /usr/src/asterisk/keys/asterisk.key
protocol : tls
require_client_cert : No
symmetric_transport : false
tos : 0
verify_client : No
verify_server : No
websocket_write_timeout : 100