Experiencing a lot of disconnections after 30-63 seconds

Dani

Member
Is there a way to instruct the server or the client to try and keep the connection rather then throw
STREAM_STATUS.FAILED
upon small disconnections ?

most issues are on mobile (iphone and android) but also on some desktops.

Here is my server setup:


port_from =30000
port_to =31000
media_port_from =31001
media_port_to =32000
waiting_answer =60
user_agent =Flashphoner/1.0
balance_header =balance
cost_header =cost
video_enabled =true
domain =
outbound_proxy =
outbound_port =
log_level =5
enable_context_logs =false
rtp_activity_detecting =true,60
sip_msg_listener =com.flashphoner.sdk.sip.ChangeCallIdListener
call_record_listener =com.flashphoner.server.client.DefaultCallRecordListener
dtmf =rfc2833
auto_login_url =/usr/local/FlashphonerWebCallServer/conf/account.xml
get_callee_url =/usr/local/FlashphonerWebCallServer/conf/callee.xml
codecs =opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,vp8,h264,flv,mpv
codecs_exclude_sip =mpeg4-generic,flv,mpv
codecs_exclude_streaming =flv,telephone-event
codecs_exclude_sip_rtmp =opus,g729,g722,mpeg4-generic,vp8,mpv
on_record_hook_script =on_record_hook.sh
rtmp_transponder_stream_name_prefix =rtmp_
https.address =192.168.100.24
wss.address =192.168.100.24
ws.port =8080
wss.port =443
wss.keystore.password =
wss.cert.password =
rtmp.port =1935
rtmfp.port =1935
keep_alive.algorithm =HIGH_LEVEL
keep_alive.peer_interval =2000
keep_alive.server_interval =5000
keep_alive.probes =10
video_reliable =partial
audio_reliable =partial
audio_frames_per_packet =6
burst_avoidance_count =100
flush_audio_interval =80
flush_video_interval =0
streaming_video_decoder_fast_start=false
webrtc_cc2_twcc =false
 

Dani

Member
I have tested iphone 7 with 12.2 - got disconnected after a minute- both on 4g and on wireless.
This wasn't so bad before.
continuing my previous question - how can I debug this ?
 

Max

Administrator
Staff member
Good day.
Unfortunately, we did not receive your logs by email. You can place logs on any resource and send us a URL link to download.

To solve problems with a stream ("Experiencing a lot of disconnections after 30-63 seconds"), use WebRTC stream publishing over TCP.
WebRTC over TCP usage is enabled with the following parameter in flashphoner.properties file:
Code:
ice_tcp_transport=true
Restart WCS:
Code:
systemctl restart webcallserver
For these settings, you need WCS version 5.2 and above.
 
Last edited:

Dani

Member
now one side of the stream is alive but the other side (we use 2 streams )
but I see now that the video has lags that it didn't used to have before.

This works for 12.2 but not for 12.3.1 - they keep disconnecting after short period.
 
Last edited:

Max

Administrator
Staff member
Good day.
We checked your server log. Stream publishing stops by RTP activity timeout, it means client stops sending media data. The possible reason may be device orientation changing (turning from portrait to landscape adn vice versa), in this case iOS Safari stop sending video.
The latest WCS builds support WebRTC picture rotation using orientation extension. Here is feature detailed description and usage example for stream publishing. Note that this feature is supported since build 5.2.136 so it would be better to update WCS to latest buils from this page.
 

Dani

Member
This is not rotation issue - the phone is sitting on a desk.
We're on 5.2.146 on the server. and latest sdk available (may 27th)
I will update the server to 175.
 

Max

Administrator
Staff member
Please check also if streaming from iOS is stopped using example application (Two way Streaming or Media Devices).
 
Top