We are running a SHOUTcast DNAS/Linux v1.9.8 from a hosting service.
The server is set up to only have one listener. (Why just one listener? It's used exclusively for doing remote broadcasts for an FM station.)
On the source-to-server end, everything works great. However we're having issues on the client end. Most of the time it works just fine but on more than a few occasions our lone listener will get dropped.
We have these set:
- Disconnect listeners if source disconnects: 0 ("No" in our CentovaCast control panel)
- Always disconnect listeners after: 0
There are two ways the listener's connection becomes closed.
The first way is when our listener gets kicked/dropped because another random listener tries to listen. Example from the log (with our listener being the xxx.xxx.xxx.160 and the random listener being the bbb.bbb.bbb.219 ):
<01/30/12@13:52:01> [dest: xxx.xxx.xxx.160] starting stream (UID: 176)[L: 1]{A: MPEG OVERRIDE}(P: 0)
<01/30/12@13:56:05> [dest: bbb.bbb.bbb.219] IP in ban list, disconnecting
<01/30/12@13:57:13> [dest: xxx.xxx.xxx.160] service full, disconnecting
<01/30/12@13:57:13> [dest: xxx.xxx.xxx.160] service full, disconnecting
<01/30/12@13:57:13> [dest: xxx.xxx.xxx.160] connection closed (312 seconds) (UID: 176)[L: 0]{Bytes: 5253952}(P: 0)
I have started banning these IPs and their subnets (I'm in the US and they are all from various other countries including France, Australia, Czech Republic, and Romania) and reserved our IP addresses yet, as you can see, this attempted connection seemingly still caused our listener to be dropped.
I've even made it happen from my machine by streaming it on the web proxy and then opening the stream as a Quicktime .qtl file. The web proxy connection becomes closed and the Quicktime starts streaming it. [Note: the random foreign listeners have failed to actually connect-- even before becoming banned-- but still result in our listener's connection closing.]
The second way that the stream disconnects is without any other listener involved. In this case, the listener connects but then gets dropped at a regular interval, 32 seconds. Here's another example from an older log:
<01/26/12@13:27:14> [dest: xxx.xxx.xxx.185] starting stream (UID: 65)[L: 1]{A: QuickTime/6.0}(P: 1)
<01/26/12@13:27:46> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 65)[L: 0]{Bytes: 256000}(P: 1)
<01/26/12@13:27:48> [dest: xxx.xxx.xxx.185] starting stream (UID: 66)[L: 1]{A: QuickTime/6.0}(P: 2)
<01/26/12@13:28:20> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 66)[L: 0]{Bytes: 256000}(P: 2)
<01/26/12@13:28:22> [dest: xxx.xxx.xxx.185] starting stream (UID: 67)[L: 1]{A: QuickTime/6.0}(P: 0)
<01/26/12@13:28:47> [dest: xxx.xxx.xxx.185] Added to Reserve IP List
<01/26/12@13:28:54> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 67)[L: 0]{Bytes: 256000}(P: 0)
<01/26/12@13:28:56> [dest: xxx.xxx.xxx.185] starting stream (UID: 68)[L: 1]{A: QuickTime/6.0}(P: 0)
<01/26/12@13:29:28> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 68)[L: 0]{Bytes: 256000}(P: 0)
As you can see, I tried to reserve the IP in hopes of preventing the drop but to no avail. So far, this problem occurs at one machine. And of course it's the only one we NEED to work. (It's the one we're using to send to the FM broadcast.) Maybe some funny setting in the local network is causing it? Firewall?
So regarding these 2 issues:
(A) What is causing shoutcast to drop the existing listener when a new listener tries to connect, successfully or not/banned or not?
What can we do to avoid having our listener dropped in this way?
-- Make our station reserve-only? (Apparently this is not an option in 1.9.8, though.)
-- Make another listening slot available, maybe? (We have added another listener slot since this issue started.)
(B) What do you think may be causing the weird 32 second connections? Is this something anyone has seen or heard about before?
Unfortunately, I do not have access to the .conf files other than through a CentovaCast control panel and am unable to provide debug info.
Let me know if there is any other info I need to provide for you to diagnose these issues.
Thanks in advance for your help.
The server is set up to only have one listener. (Why just one listener? It's used exclusively for doing remote broadcasts for an FM station.)
On the source-to-server end, everything works great. However we're having issues on the client end. Most of the time it works just fine but on more than a few occasions our lone listener will get dropped.
We have these set:
- Disconnect listeners if source disconnects: 0 ("No" in our CentovaCast control panel)
- Always disconnect listeners after: 0
There are two ways the listener's connection becomes closed.
The first way is when our listener gets kicked/dropped because another random listener tries to listen. Example from the log (with our listener being the xxx.xxx.xxx.160 and the random listener being the bbb.bbb.bbb.219 ):
<01/30/12@13:52:01> [dest: xxx.xxx.xxx.160] starting stream (UID: 176)[L: 1]{A: MPEG OVERRIDE}(P: 0)
<01/30/12@13:56:05> [dest: bbb.bbb.bbb.219] IP in ban list, disconnecting
<01/30/12@13:57:13> [dest: xxx.xxx.xxx.160] service full, disconnecting
<01/30/12@13:57:13> [dest: xxx.xxx.xxx.160] service full, disconnecting
<01/30/12@13:57:13> [dest: xxx.xxx.xxx.160] connection closed (312 seconds) (UID: 176)[L: 0]{Bytes: 5253952}(P: 0)
I have started banning these IPs and their subnets (I'm in the US and they are all from various other countries including France, Australia, Czech Republic, and Romania) and reserved our IP addresses yet, as you can see, this attempted connection seemingly still caused our listener to be dropped.
I've even made it happen from my machine by streaming it on the web proxy and then opening the stream as a Quicktime .qtl file. The web proxy connection becomes closed and the Quicktime starts streaming it. [Note: the random foreign listeners have failed to actually connect-- even before becoming banned-- but still result in our listener's connection closing.]
The second way that the stream disconnects is without any other listener involved. In this case, the listener connects but then gets dropped at a regular interval, 32 seconds. Here's another example from an older log:
<01/26/12@13:27:14> [dest: xxx.xxx.xxx.185] starting stream (UID: 65)[L: 1]{A: QuickTime/6.0}(P: 1)
<01/26/12@13:27:46> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 65)[L: 0]{Bytes: 256000}(P: 1)
<01/26/12@13:27:48> [dest: xxx.xxx.xxx.185] starting stream (UID: 66)[L: 1]{A: QuickTime/6.0}(P: 2)
<01/26/12@13:28:20> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 66)[L: 0]{Bytes: 256000}(P: 2)
<01/26/12@13:28:22> [dest: xxx.xxx.xxx.185] starting stream (UID: 67)[L: 1]{A: QuickTime/6.0}(P: 0)
<01/26/12@13:28:47> [dest: xxx.xxx.xxx.185] Added to Reserve IP List
<01/26/12@13:28:54> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 67)[L: 0]{Bytes: 256000}(P: 0)
<01/26/12@13:28:56> [dest: xxx.xxx.xxx.185] starting stream (UID: 68)[L: 1]{A: QuickTime/6.0}(P: 0)
<01/26/12@13:29:28> [dest: xxx.xxx.xxx.185] connection closed (32 seconds) (UID: 68)[L: 0]{Bytes: 256000}(P: 0)
As you can see, I tried to reserve the IP in hopes of preventing the drop but to no avail. So far, this problem occurs at one machine. And of course it's the only one we NEED to work. (It's the one we're using to send to the FM broadcast.) Maybe some funny setting in the local network is causing it? Firewall?
So regarding these 2 issues:
(A) What is causing shoutcast to drop the existing listener when a new listener tries to connect, successfully or not/banned or not?
What can we do to avoid having our listener dropped in this way?
-- Make our station reserve-only? (Apparently this is not an option in 1.9.8, though.)
-- Make another listening slot available, maybe? (We have added another listener slot since this issue started.)
(B) What do you think may be causing the weird 32 second connections? Is this something anyone has seen or heard about before?
Unfortunately, I do not have access to the .conf files other than through a CentovaCast control panel and am unable to provide debug info.
Let me know if there is any other info I need to provide for you to diagnose these issues.
Thanks in advance for your help.
Comment