Dear Asterisk Support Team,
I’m trying to troubleshoot an issue between Android Linphone and Asterisk 15.3 which has now become a showstopper for us.
Let me describe my architecture:
- COTURN server for STUN/TURN and this is working correctly
- Asterisk 15.3
- Chrome and JsSIP for the desktop inhouse application
Asterisk main settings for the users:
direct_media=no
disallow=all
allow=ulaw
allow=alaw
allow=opus
allow=vp8
allow=h264
ice_support=yes
rtcp_mux=yes
force_rport=yes
preferred_codec_only=yes ;aggiunto per test
rtp_symmetric=yes
;asymmetric_rtp_codec=no
disable_direct_media_on_nat=yes
use_avpf=yes
bundle=yes
max_audio_streams=10
max_video_streams=10
webrtc=yes
dtls_cert_file=/etc/certs/fullchain.cer
dtls_private_key=/etc/certs/private.key
dtls_ca_file=/etc/certs/ca.cer
Scenarios:
a) Chrome -> Chrome
everything works fine, video calls running smoothly
b) Android Linphone -> Chrome
everything works fine, video calls running smoothly
On Asterisk I see that the locking of media sources for both android and chrome works fine and I have both audio and video media (local and remote).
No errors reported by Asterisk.
c) Chrome -> Android Linphone
issue: no remote audio/video both on linphone and chrome and after a while the call drops automatically
On Asterisk I see that the locking of audio/video media source for android never happens while it completes correctly for the desktop side
Asterisk logs:
[Sep 6 09:37:10] WARNING[32706][C-0000000c]: res_rtp_asterisk.c:2877 __rtp_recvfrom: PJ ICE Rx error status code: 370401 'Unauthorized'.
[Sep 6 09:37:10] WARNING[31963]: res_rtp_asterisk.c:1135 ast_rtp_on_turn_rx_rtp_data: PJ ICE Rx error status code: 370401 'Unauthorized'.
These logs above seem related to the android side.
d) Android Linphone -> Android Linphone
issue: same as above
e) I have tried to disable ICE/TURN on the phones and repeated Android Linphone -> Android Linphone
issue: same as above
on Asterisk logs I see a slightly different message:
[Sep 6 10:25:44] WARNING[3692][C-00000015]: res_rtp_asterisk.c:2877 __rtp_recvfrom: PJ ICE Rx error status code: 370400 'Bad Request'.
[Sep 6 10:25:44] WARNING[3692][C-00000015]: res_rtp_asterisk.c:2877 __rtp_recvfrom: PJ ICE Rx error status code: 370400 'Bad Request'.
but again the locking on media sources for android app doesn’t happen.
Apparently the DTLS handshake for the media streams fails, which results in no SRTP keys being exchanged for SRTP operation.
Then no audio/video packet can be decoded in case of incoming calls on Android Linphone.
Could you please help us in trying to understand whether there’s anything we can troubleshoot or adjust on the Asterisk side
trying to solve this issue?
Thanks in advance