Disconnecting channel for lack of audio RTP activity

Hello! I faced the issue that call drops after 33 seconds due to lack of audio RTP activity.

I call from 1153(WebRTC, JsSIP) to 1154(Mobile, Linphone) extension:
1.No Audio
2.Call Drops

but workable on Linphone(Desktop) to Linphone(Mobile)

I have been checking:
1.NAT Configuration
2.Network Firewall Configuration

I have reached the end of my tether, could someone tell me where do any wrong, here’s my log:
https://pastebin.freepbx.org/view/e0aa02eb

Thank you for any help you can offer.

Use “rtp set debug on” at the CLI and see in which direction and on which legs (four in total) the RTP is missing.

Also, please use logging obtained from Asterisk itself (verbose level 5 and the appropriate protocol logging option for your channel driver. Please say which channel driver that is.

The channel driver configuration is also likely to be needed, as most such problems are the result of errors in that.

Unfortunately, WebRTC and therefore ICE go beyond my experience, so I may nto be able to provide much help on the RTP port negotiation.

1 Like

Thanks for your reply.

rtp set debug on
https://pastebin.freepbx.org/view/f92b95a5

The SIP Channel Driver setting is chan_pjsip and the configuration :

pjsip.conf

;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;
#include pjsip_custom.conf
#include pjsip.transports.conf
#include pjsip.transports_custom_post.conf
#include pjsip.endpoint.conf
#include pjsip.endpoint_custom_post.conf
#include pjsip.aor.conf
#include pjsip.aor_custom_post.conf
#include pjsip.auth.conf
#include pjsip.auth_custom_post.conf
#include pjsip.registration.conf
#include pjsip.registration_custom_post.conf
#include pjsip.identify.conf
#include pjsip.identify_custom_post.conf

[global]
type=global
user_agent=FPBX-15.0.17.55(17.9.3)
use_callerid_contact=no
debug=no
keep_alive_interval=90
endpoint_identifier_order=ip,username,anonymous,header,auth_username
taskprocessor_overload_trigger=pjsip_only
#include pjsip_custom_post.conf

pjsip.transports.conf

;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;
#include pjsip.transports_custom.conf

[0.0.0.0-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060
external_media_address=183.115.233.115
external_signaling_address=183.115.233.115
allow_reload=no
tos=cs3
cos=3
local_net=172.20.0.0/16

[0.0.0.0-tcp]
type=transport
protocol=tcp
bind=0.0.0.0:5060
external_media_address=183.115.233.115
external_signaling_address=183.115.233.115
allow_reload=no
tos=cs3
cos=3
local_net=172.20.0.0/16

[0.0.0.0-ws]
type=transport
protocol=ws
bind=0.0.0.0
external_media_address=183.115.233.115
external_signaling_address=183.115.233.115
allow_reload=no
tos=cs3
cos=3
local_net=172.20.0.0/16

[0.0.0.0-wss]
type=transport
protocol=wss
bind=0.0.0.0
external_media_address=183.115.233.115
external_signaling_address=183.115.233.115
allow_reload=no
tos=cs3
cos=3
local_net=172.20.0.0/16

pjsip.endpoint.conf

;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;
#include pjsip.endpoint_custom.conf

[1153]
type=endpoint
aors=1153
auth=1153-auth
tos_audio=ef
tos_video=af41
cos_audio=5
cos_video=4
allow=opus,ulaw,alaw,gsm,g726,g722
context=from-internal
callerid=WebRTC_1153 <1153>

dtmf_mode=rfc4733
direct_media=yes
aggregate_mwi=yes
use_avpf=yes
rtcp_mux=yes
max_audio_streams=1
max_video_streams=1
bundle=no
ice_support=yes
media_use_received_transport=no
trust_id_inbound=yes
user_eq_phone=no
send_connected_line=yes
media_encryption=dtls
timers=yes
timers_min_se=90
media_encryption_optimistic=no
refer_blind_progress=yes
refer_blind_progress=yes
rtp_timeout=30
rtp_timeout_hold=300
send_pai=yes
rtp_symmetric=yes
rewrite_contact=yes
force_rport=yes
language=en
one_touch_recording=on
record_on_feature=apprecord
record_off_feature=apprecord
dtls_verify=fingerprint
dtls_setup=actpass
dtls_rekey=0
dtls_cert_file=/etc/asterisk/keys/default.crt
dtls_private_key=/etc/asterisk/keys/default.key

[1154]
type=endpoint
aors=1154
auth=1154-auth
tos_audio=ef
tos_video=af41
cos_audio=5
cos_video=4
allow=opus,ulaw,alaw,gsm,g726,g722
context=from-internal
callerid=Mobile_1154 <1154>

dtmf_mode=rfc4733
direct_media=yes
aggregate_mwi=yes
use_avpf=no
rtcp_mux=no
max_audio_streams=1
max_video_streams=1
bundle=no
ice_support=no
media_use_received_transport=no
trust_id_inbound=yes
user_eq_phone=no
send_connected_line=yes
media_encryption=no
timers=yes
timers_min_se=90
media_encryption_optimistic=no
refer_blind_progress=yes
refer_blind_progress=yes
rtp_timeout=30
rtp_timeout_hold=300
send_pai=yes
rtp_symmetric=yes
rewrite_contact=yes
force_rport=yes
language=en
one_touch_recording=on
record_on_feature=apprecord
record_off_feature=apprecord

pjsip.aor.conf

;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;
#include pjsip.aor_custom.conf

[1153]
type=aor
max_contacts=1
remove_existing=yes
maximum_expiration=7200
minimum_expiration=60
qualify_frequency=60

[1154]
type=aor
max_contacts=1
remove_existing=yes
maximum_expiration=7200
minimum_expiration=60
qualify_frequency=60

Either RTP debugging didn’t take or you aren’t receiving any from either side.

You didn’t do pjsip set logger on

Sorry for my mistakes.

I changed the docker image from ’ tiredofit/freepbx’ to ’ izdock/izpbx-asterisk’
It worked fine on WebRTC client(Desktop) to SIP Client(Linphone-Android)
but not on WebRTC client(Desktop) to WebRTC client(Mobile)
https://pastebin.freepbx.org/view/73f7987a

I still try to find out what going on.

I fixed my WebRTC client and it worked now.

That is due to RTCPeerConnection.getLocalStreams was deprecated, and not supported from iOS client.
https://docs.w3cub.com/dom/rtcpeerconnection/getlocalstreams

Thank you.

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