400 Error in StudioLink Standalone?

Hello! Apologies for my English. I’m a huge fan of StudioLink Standalone. I’ve been using it for some time. However, I’ve migrated to a 2012 MacBook Pro running 10.13 High Sierra recently, and for some reason, my StudioLink connection is no longer stable. After 5-7 minutes, the connection drops, and I get a 400 error. I’ve used this across many other MacBook Pro machines running 10.13 and above, and what I love about this software is that it just works. But for some reason, its not on this machine, and I just cannot understand why. I’ve tried multiple browsers, older versions of the standalone version of StudioLink, ensure my entire workflow is 48khz - no luck. Has anyone faced this?

I should also add - what happens first is that the recipient loses the level meter signal and audio of the other caller first - then it drops. This happens for both parties - but - both parties can see their own level meter signals. But the opposite party loses the audio. Then, after 1-2 minutes, a „400 Bad Request“ error terminates the connection.

Can you test with „500hz@studio.link“? It would be interesting if it would also stop after a certain time.

Hi there - nope, same issue - it dropped after some time. Is that standard with 500hz@studio.link or should it stay locked?

Yes, it should run without any interruption. You are using an older version, can you try:

https://doku.studio-link.de/standalone/installation-standalone.html

Cool I’ve tried a number of versions old and new - I guess my current machine just doesnt support it - all my other ones have, strange. Thank you!

How is the internet-situation for the problematic computer? Do you use WiFi for connection or cable(the latter is more reliable)?
And what happens, if you try other software like Skype or Zoom or something, does it happen there as well after some time?

Hello - well, I’m really hoping it’s my wifi - Skype, Zoom, etc - no issue. I generally connect to my router via an ethernet cable, but this new machine does not have one, so, I’m getting a USB to Ethernet adapter tomorrow. I REALLY hope this fixes it. I’ve tried solutions like Source Connect and Linphone but they just cannot compare to the quality and robustness of StudioLink.

The Problem is that the RTP connection is established but the RTCP connection timeouts.
I can only think of two causes:

  • Wrong configuration
  • Firewall related problems

Have you tried a version upgrade? The configuration is rewritten (if the config file is not write protected/read-only).

You can find the config file here: ~/.studio-link/config
Can you send me this?

Hi there - am trying to find the config file…apologies. I suspect it should be under my user name, but I can’t locate it here on MacOS 10.13. I’ve tried the most recent version as well as older ones.

The easiest way should be the Finder and Go -> Go to Folder ~/.studio-link

Ok amazing found it. It says:

baresip configuration

#------------------------------------------------------------------------------

Core

version_str 20.05.5
poll_method kqueue # poll, select, kqueue …

SIP

sip_listen 0.0.0.0:0
#sip_certificate cert.pem
#sip_cafile /etc/ssl/cert.pem

Call

call_local_timeout 120
call_max_calls 7

Audio

#audio_path /usr/local/share/baresip
audio_player slaudio,default
audio_source slaudio,default
audio_alert slaudio,default
ausrc_srate 48000
auplay_srate 48000
ausrc_channels 2
auplay_channels 2
audio_txmode thread # poll, thread
audio_level no
ausrc_format s16 # s16, float, …
auplay_format s16 # s16, float, …
auenc_format s16 # s16, float, …
audec_format s16 # s16, float, …
audio_buffer 20-400 # ms

Video

#video_source avcapture,nil
#video_display sdl,nil
video_size 352x288
video_bitrate 500000
video_fps 25.00
video_fullscreen no
videnc_format yuv420p

AVT - Audio/Video Transport

rtp_tos 184
#rtp_ports 10000-20000
#rtp_bandwidth 512-1024 # [kbit/s]
rtcp_mux no
jitter_buffer_delay 0 # frames
rtp_stats no
#rtp_timeout 60

Network

#dns_server 1.1.1.1:53
#dns_server 74.82.42.42:53
#dns_server 9.9.9.10:53
#net_interface en0

#------------------------------------------------------------------------------

Modules

#module_path /usr/local/lib/baresip/modules

UI Modules

module slogging.so
module stdio.so
#module cons.so
#module evdev.so
#module httpd.so

Audio codec Modules (in order)

module opus.so
#module amr.so
#module g7221.so
#module g722.so
#module g726.so
module g711.so
#module gsm.so
#module l16.so
#module mpa.so
#module codec2.so
#module ilbc.so
#module isac.so

Audio filter Modules (in encoding order)

#module vumeter.so
#module sndfile.so
#module speex_pp.so
#module plc.so
#module webrtc_aec.so

Audio driver Modules

module slaudio.so
#module jack.so
#module portaudio.so
#module aubridge.so
#module aufile.so

Video codec Modules (in order)

#module avcodec.so
#module vp8.so
#module vp9.so

Video filter Modules (in encoding order)

#module selfview.so
#module snapshot.so
#module swscale.so
#module vidinfo.so

Video source modules

#module avcapture.so
#module avformat.so
#module x11grab.so
#module cairo.so
#module vidbridge.so

Video display modules

#module x11.so
#module sdl.so
#module fakevideo.so

Audio/Video source modules

#module rst.so
#module gst.so
#module gst_video.so

Media NAT modules

module stun.so
module turn.so
module ice.so
#module natpmp.so
#module pcp.so

Media encryption modules

#module srtp.so
module dtls_srtp.so
#module zrtp.so

#------------------------------------------------------------------------------

Temporary Modules (loaded then unloaded)

module_tmp uuid.so
#module_tmp account.so

#------------------------------------------------------------------------------

Application Modules

#module_app auloop.so
#module_app b2bua.so
#module_app contact.so
#module_app debug_cmd.so
#module_app echo.so
#module_app gtk.so
#module_app menu.so
#module_app mwi.so
#module_app presence.so
#module_app syslog.so
#module_app mqtt.so
#module_app ctrl_tcp.so
#module_app vidloop.so
module_app webapp.so

#------------------------------------------------------------------------------

Module parameters

Opus codec parameters

opus_bitrate 64000 # 6000-510000
#opus_stereo yes
#opus_sprop_stereo yes
#opus_cbr no
#opus_inbandfec no
#opus_dtx no
#opus_mirror no
#opus_complexity 10
opus_application audio # {voip,audio}
opus_samplerate 48000
#opus_packet_loss 10 # 0-100 percent

Opus Multistream codec parameters

#opus_ms_channels 2 #total channels (2 or 4)
#opus_ms_streams 2 #number of streams
#opus_ms_c_streams 2 #number of coupled streams

vumeter_stderr yes

#jack_connect_ports yes

Selfview

video_selfview window # {window,pip}
#selfview_size 64x64

ICE

ice_debug yes
ice_nomination regular # {regular,aggressive}

ZRTP

#zrtp_hash no # Disable SDP zrtp-hash (not recommended)

Menu

#menu_bell yes
#redial_attempts 0 # Num or
#redial_delay 5 # Delay in seconds
#ringback_disabled no
#statmode_default off

avcodec

#avcodec_h264enc libx264
#avcodec_h264dec h264
#avcodec_h265enc libx265
#avcodec_h265dec hevc
#avcodec_hwaccel videotoolbox

mqtt

#mqtt_broker_host 127.0.0.1
#mqtt_broker_port 1883
#mqtt_broker_clientid baresip01
#mqtt_broker_user user
#mqtt_broker_password pass
#mqtt_basetopic baresip/01

sndfile

#snd_path /tmp

Also - I just acquired a USB to Ethernet adapter and am no longer on Wifi. Both machines are running the most recent stable version of StudioLink. The call still drops. The receiving machine gets a „400 Bad Request“ error.