Hundreds of stale ARC incoming tcp connections on roon server

hi,

casually looking into my roon server, a saw that netstat:

tcp6       0      0 10.3.14.7:31715         84.247.41.31:56966      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:56974      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:57014      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:57172      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:57246      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:57342      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:57448      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:57512      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:57656      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:58186      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:58276      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:58344      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:58492      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:60220      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         84.247.41.31:60228      ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.118.226.58:48630     ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:11166    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:12031    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:12857    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:15512    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:2602     ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:26032    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:26643    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:2752     ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:27949    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:27978    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:28141    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:31082    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:31340    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:31474    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:34281    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:34321    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:34610    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:35837    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:36658    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:40487    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:42012    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:48013    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:51596    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:5193     ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:53522    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:5361     ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:54756    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:59724    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:61400    ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:6503     ESTABLISHED
tcp6       0      0 10.3.14.7:31715         85.140.160.210:6661     ESTABLISHED
..... (another 400+ connections ESTABLISHED!)

this is all ARC incoming connections, ip addresses seems like all possible my own, but many from loooong days ago. why roon server not dooing keepalive to close long time stale connections?!..

(uptime 12 days, so probably it will be thousands in 30 days)

That’s interesting. I am running Roon on NAS, and of my tcp6 connections, I only have two that are “ESTABLISHED”, 13 that are “LISTEN”, and 3 that are “TIME_WAIT”.

Will be interesting to see how this develops, because I have long surmised that ARC has some tcp6 weirdness, although it has been a lot better for me recently.

I have long theorized, for instance, that when one travels from one’s home network, where ARC may have a publicly-routable IPv6 address, and then onto a cellular network, where ARC tries to work with your cell provider’s publicly-routable IPv6 address, that ARC hangs onto your home IPv6 address and gets confused. The opposite seems to occur as well.

and yes, currently i’m listening my roon thru ARC - and all connections is tcp6, but I have no ipv6 addresses on both sides!

Well, the IP addresses you are seeing are IPv4 addresses, and I am pretty sure that what is going on is that those connections are “IPv4-mapped IPv6,” which is a whole other technical thing…FWIW, all IPv4 addresses are also IPv6 addresses…

Hi @sergej_teregeshev,

First off, are you experiencing any connectivity issues in ARC or your Roon Remotes, or is the only symptom you’ve encountered the high volume of connection traces listed above?

Do you have any VPNs active on this network? Network topology can also influence this behavior - how many routers/switches are in your setup, and what is their general arrangement?

There have been no significant changes to RoonServer’s handling of IPv6 since the initial release of ARC compatibility. The particular implementation of your ISP and cellular provider (including prefixing, DS vs. DS-lite, etc.), router firmware and the firmware of any managed network components, and the operating systems of your RoonServer machine and cellular device will all play a role.

Thank you for the report. If you have a timestamp of an instance of this, we’d be curious to investigate more precisely.

What is the OS of the phone involved, and if you don’t mind sharing, who is your cellular provider/ISP?

@connor I would be glad to see if I can make this happen. Do you need me to do anything specific on my end to set this up?

First off, are you experiencing any connectivity issues in ARC or your Roon Remotes, or is the only symptom you’ve encountered the high volume of connection traces listed above?

no connectivity issues. yes, now I have 1211 tcp6 (i have no IPV6 connectivity anywhere where I asccess internet, so count them as tcp4) sockets on RoonAppliance on my roon server. in 19 days uptime. all in ESTABLISHED state.

i’m unix programmer with over 30yrs experience, so I deeply understand tcp workings inside out. this problem can be resolved with simple SO_KEEPALIVE, coz 100%-1 of this sockets have not-answerable tcp clients.

there’s NO problems other than huuuge and groving netstat output on server. at first I think that it was some DDOS thru ARC incoming port, but after further investigation - all IPs is my possible roamable IPs.

Do you have any VPNs active on this network? Network topology can also influence this behavior - how many routers/switches are in your setup, and what is their general arrangement?

simplest form I use: roon server - wired ether - huawei ax6 router - inet (no VPN on that connection). I use ARCs on fiio m17 and my samsung tablet, over 4G or some wifi - and that can be over NordVPN or not, 50-50 I think.

NB. I have ipv6 turned off anywhere I use ARC. I’ve never seen tcp6 connection as it is.

Thank you for the report. If you have a timestamp of an instance of this, we’d be curious to investigate more precisely.

timestamp of WHAT? i only behold that stale tcp connections increasing stabilly on my roon server, seems like never closing properly later.

What is the OS of the phone involved, and if you don’t mind sharing, who is your cellular provider/ISP?

androids - 10 on fiio m17, 12 on samsung galaxy tab s6. cellular - tele2/mts (russian), wired - sibseti.ru/kts42.ru - as you see, i’m in siberia…

@connor I had something like this happen this morning between 7:24 AM and 7:33 AM EST where I started playing music (the Jimmy Page & Robert Plant “No Quarter” album) at my house, and then wound up getting a phone call about five minutes later, and then was unable to resume ARC playback until quitting and restarting the app.

@connor this happened again to me this morning at 7:54-7:55 while attempting to play:

I did an ARC quit/relaunch somewhere between 7:54:30 and 7:55:00 to get things working again.

@connor Here are some relevant logs; I obfuscated my coreId:

01/05 07:43:55 Info: [mobile] GOT HTTP API /sync
01/05 07:43:55 Info: [mobile] GOT HTTP API /hello
01/05 07:43:55 Info: [mobile] GOT HTTP API /pages/album
01/05 07:43:55 Trace: [mobile] Got Hello Request body={“coreId”:“(XXXXX)”}
01/05 07:43:57 Trace: [mobile] API_PlaybackInfo(12954418 / 50:1:6d1c87ab-f8a3-45a0-93e6-cfd8edb99781)
01/05 07:43:57 Trace: [mobile] got playbackinfo: {“playbackTrackId”:“50:9:12954418”,“noiseStartMs”:104,“noiseEndMs”:266058,“trackGainDb”:-6.947028105146831,“trackPeakDb”:-2.473012602825009,“albumGainDb”:-10.323386421357066,“albumPeakDb”:0.03785070659271801,“hlsPlaylist”:null,“sourceSignalPath”:[{“type”:“source”,“format”:“Aiff”,“content_source”:“Local”,“quality”:“lossless”,“bitrate”:null,“sample_rate”:44100,“bits_per_sample”:16,“channels”:2,“mqa_original_sample_rate”:null,“is_dts”:false}],“lossyBitrate”:null}
01/05 07:43:58 Trace: [mobile] API_PlaybackInfo(12953650 / 50:1:d137c4c8-ed28-49c5-8038-295c4fca93e5)
01/05 07:43:58 Trace: [mobile] got playbackinfo: {“playbackTrackId”:“50:9:12953650”,“noiseStartMs”:104,“noiseEndMs”:196118,“trackGainDb”:-7.713615412964712,“trackPeakDb”:-0.31597861035049607,“albumGainDb”:-10.323386421357066,“albumPeakDb”:0.03785070659271801,“hlsPlaylist”:null,“sourceSignalPath”:[{“type”:“source”,“format”:“Aiff”,“content_source”:“Local”,“quality”:“lossless”,“bitrate”:null,“sample_rate”:44100,“bits_per_sample”:16,“channels”:2,“mqa_original_sample_rate”:null,“is_dts”:false}],“lossyBitrate”:null}
01/05 07:43:59 Info: [mobile] GOT HTTP API /sync
01/05 07:51:07 Info: [mobile] GOT HTTP API /hello
01/05 07:51:07 Trace: [mobile] Got Hello Request body={“coreId”:“(XXXXX)”}
01/05 07:51:07 Trace: [mobile] API_PlaybackInfo(12953394 / 50:1:bbe77109-9095-4e23-9e99-bd8ee87a3123)
01/05 07:51:07 Trace: [mobile] got playbackinfo: {“playbackTrackId”:“50:9:12953394”,“noiseStartMs”:26,“noiseEndMs”:178386,“trackGainDb”:-7.964260616786927,“trackPeakDb”:0.03785070659271801,“albumGainDb”:-10.323386421357066,“albumPeakDb”:0.03785070659271801,“hlsPlaylist”:“#EXTM3U\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXT-X-TARGETDURATION:9.960\n#EXT-X-VERSION:4\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-ROONLABS-CACHE-MAX-AGE:3600\n#EXT-X-ROON-MEDIA-FORMAT:ogg/opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00000.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00001.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00002.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00003.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00004.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00005.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00006.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00007.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00008.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00009.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00010.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00011.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00012.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00013.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00014.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00015.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00016.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00017.opus\n#EXTINF:2.350,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00018.opus\n#EXT-X-ENDLIST\n”,“sourceSignalPath”:[{“type”:“source”,“format”:“Aiff”,“content_source”:“Local”,“quality”:“lossless”,“bitrate”:null,“sample_rate”:44100,“bits_per_sample”:16,“channels”:2,“mqa_original_sample_rate”:null,“is_dts”:false},{“type”:“upgrade_bit_depth”,“quality”:“lossless”,“from_bits_per_sample”:16,“to_bits_per_sample”:64},{“type”:“pcm_sample_rate_conversion”,“quality”:“high”,“from_sample_rate”:44100,“to_sample_rate”:48000},{“type”:“truncate”,“quality”:“lossless”,“from_bits_per_sample”:64,“to_bits_per_sample”:24},{“type”:“encoding”,“quality”:“low”,“description”:“Opus 48kHz 2ch 256kbps”}],“lossyBitrate”:null}
01/05 07:51:07 Info: [mobile] GOT HTTP API /sync
01/05 07:54:26 Info: [mobile] GOT HTTP API /sync
01/05 07:55:12 Info: [mobile] GOT HTTP API /hello
01/05 07:55:12 Trace: [mobile] Got Hello Request body={“coreId”:“(XXXXX)”}
01/05 07:55:12 Info: [mobile] GOT HTTP API /pages/home
01/05 07:55:12 Info: [mobile] GOT HTTP API /pages/instantsearch
01/05 07:55:12 Info: [mobile] GOT HTTP API /pages/instantsearch
01/05 07:55:12 Info: [mobile] GOT HTTP API /pages/searchlanding
01/05 07:55:12 Info: [mobile] GOT HTTP API /sync
01/05 07:55:14 Trace: [mobile] API_PlaybackInfo(12953394 / 50:1:bbe77109-9095-4e23-9e99-bd8ee87a3123)
01/05 07:55:14 Trace: [mobile] got playbackinfo: {“playbackTrackId”:“50:9:12953394”,“noiseStartMs”:26,“noiseEndMs”:178386,“trackGainDb”:-7.964260616786927,“trackPeakDb”:0.03785070659271801,“albumGainDb”:-10.323386421357066,“albumPeakDb”:0.03785070659271801,“hlsPlaylist”:“#EXTM3U\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXT-X-TARGETDURATION:9.960\n#EXT-X-VERSION:4\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-ROONLABS-CACHE-MAX-AGE:3600\n#EXT-X-ROON-MEDIA-FORMAT:ogg/opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00000.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00001.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00002.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00003.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00004.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00005.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00006.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00007.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00008.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00009.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00010.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00011.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00012.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00013.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00014.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00015.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00016.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00017.opus\n#EXTINF:2.350,\n__PLAYBACK_URI__/66ee28db483f445a86f5f71925ce8f6b/00018.opus\n#EXT-X-ENDLIST\n”,“sourceSignalPath”:[{“type”:“source”,“format”:“Aiff”,“content_source”:“Local”,“quality”:“lossless”,“bitrate”:null,“sample_rate”:44100,“bits_per_sample”:16,“channels”:2,“mqa_original_sample_rate”:null,“is_dts”:false},{“type”:“upgrade_bit_depth”,“quality”:“lossless”,“from_bits_per_sample”:16,“to_bits_per_sample”:64},{“type”:“pcm_sample_rate_conversion”,“quality”:“high”,“from_sample_rate”:44100,“to_sample_rate”:48000},{“type”:“truncate”,“quality”:“lossless”,“from_bits_per_sample”:64,“to_bits_per_sample”:24},{“type”:“encoding”,“quality”:“low”,“description”:“Opus 48kHz 2ch 256kbps”}],“lossyBitrate”:null}
01/05 07:55:15 Trace: [mobile] API_PlaybackInfo(12953906 / 50:1:af85a9b5-3184-4a38-a4d5-667d96df740a)
01/05 07:55:15 Trace: [mobile] got playbackinfo: {“playbackTrackId”:“50:9:12953906”,“noiseStartMs”:338,“noiseEndMs”:309608,“trackGainDb”:-7.308684947980442,“trackPeakDb”:-0.4142373422200874,“albumGainDb”:-10.323386421357066,“albumPeakDb”:0.03785070659271801,“hlsPlaylist”:“#EXTM3U\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXT-X-TARGETDURATION:9.960\n#EXT-X-VERSION:4\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-ROONLABS-CACHE-MAX-AGE:3600\n#EXT-X-ROON-MEDIA-FORMAT:ogg/opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00000.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00001.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00002.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00003.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00004.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00005.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00006.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00007.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00008.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00009.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00010.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00011.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00012.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00013.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00014.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00015.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00016.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00017.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00018.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00019.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00020.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00021.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00022.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00023.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00024.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00025.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00026.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00027.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00028.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00029.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00030.opus\n#EXTINF:4.617,\n__PLAYBACK_URI__/542b8bd8f4bd487398c11071e6fef356/00031.opus\n#EXT-X-ENDLIST\n”,“sourceSignalPath”:[{“type”:“source”,“format”:“Aiff”,“content_source”:“Local”,“quality”:“lossless”,“bitrate”:null,“sample_rate”:44100,“bits_per_sample”:16,“channels”:2,“mqa_original_sample_rate”:null,“is_dts”:false},{“type”:“upgrade_bit_depth”,“quality”:“lossless”,“from_bits_per_sample”:16,“to_bits_per_sample”:64},{“type”:“pcm_sample_rate_conversion”,“quality”:“high”,“from_sample_rate”:44100,“to_sample_rate”:48000},{“type”:“truncate”,“quality”:“lossless”,“from_bits_per_sample”:64,“to_bits_per_sample”:24},{“type”:“encoding”,“quality”:“low”,“description”:“Opus 48kHz 2ch 256kbps”}],“lossyBitrate”:null}
01/05 07:55:16 Info: [mobile] GOT HTTP API /sync
01/05 07:55:22 Info: [mobile] GOT HTTP API /hello
01/05 07:55:22 Trace: [mobile] Got Hello Request body={“coreId”:“(XXXXX)”}
01/05 07:55:25 Info: [mobile] GOT HTTP API /sync
01/05 07:58:17 Trace: [mobile] API_PlaybackInfo(12955442 / 50:1:40f65c07-5bd2-4f1f-8f47-6567c582314d)
01/05 07:58:17 Trace: [mobile] got playbackinfo: {“playbackTrackId”:“50:9:12955442”,“noiseStartMs”:130,“noiseEndMs”:79534,“trackGainDb”:-10.323386421357066,“trackPeakDb”:-0.06797417613305606,“albumGainDb”:-10.323386421357066,“albumPeakDb”:0.03785070659271801,“hlsPlaylist”:“#EXTM3U\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXT-X-TARGETDURATION:9.960\n#EXT-X-VERSION:4\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-ROONLABS-CACHE-MAX-AGE:3600\n#EXT-X-ROON-MEDIA-FORMAT:ogg/opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00000.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00001.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00002.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00003.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00004.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00005.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00006.opus\n#EXTINF:9.960,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00007.opus\n#EXTINF:2.324,\n__PLAYBACK_URI__/511fad6ac38043d7a2cab62b7d3e2e49/00008.opus\n#EXT-X-ENDLIST\n”,“sourceSignalPath”:[{“type”:“source”,“format”:“Aiff”,“content_source”:“Local”,“quality”:“lossless”,“bitrate”:null,“sample_rate”:44100,“bits_per_sample”:16,“channels”:2,“mqa_original_sample_rate”:null,“is_dts”:false},{“type”:“upgrade_bit_depth”,“quality”:“lossless”,“from_bits_per_sample”:16,“to_bits_per_sample”:64},{“type”:“pcm_sample_rate_conversion”,“quality”:“high”,“from_sample_rate”:44100,“to_sample_rate”:48000},{“type”:“truncate”,“quality”:“lossless”,“from_bits_per_sample”:64,“to_bits_per_sample”:24},{“type”:“encoding”,“quality”:“low”,“description”:“Opus 48kHz 2ch 256kbps”}],“lossyBitrate”:null}
01/05 07:58:17 Info: [mobile] GOT HTTP API /sync