[Icecast] Last item...

sci-fi at hush.ai sci-fi at hush.ai
Wed Jul 19 02:55:33 UTC 2006


Hi again,

On Tue, 18 Jul 2006 05:02:59 -0500,
Scott R Ehrlich <scott at MIT.EDU> wrote:

> It would now be nice to figure out how to get Oddcast and
> Icecast2 to play nice on ports other than 8000/8001.   I've
> tried other higher ports (10000+), but Winamp keeps timing out
> on connect attempts.   Same settings (client and server),
> Winamp works flawlessly on 8000/8001.
> 
> Ideas?
> 
> Thanks.
> 
> Scott

I've chosen to use the 32xxx range of ports, to keep ISPs from
guessing & blocking the "well-known" ones.  By rules of TCP,
they're forbidden to block these (it's in the "user range"),
because then most apps will probably fail at odd times.

I only know the *ix way of doing this (even tho I use MacOSX,
below is the only way to do this), so maybe someone can help
translate what I did to your world.  ;)

The TCP stack needs to be told what ports to stay away from, and
hopefully _all_ of your TCP-based apps are "well-behaved" to
obey these settings as well.

I'm assuming your machines do not have a router or firewall in
the way; if so, find instructions on how to unblock your chosen
hi-numbered ports.

If you intend for others outside your LAN to connect to your
chosen hi-numbered ports, which was my case also with the
LiftedRadio netcasts, then check the router/firewall settings
for the outside world, too.  (btw I ended up not using any
firewall or router, because of some stupid bugs that were
never fixed in the Linksys routers.)

For a *ix-type system, the sysctl settings need to match the
"user range" you want to dedicate to certain apps.  Here are the
settings I use, even currently:

net.inet.ip.portrange.first=49152
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.hifirst=65535
net.inet.ip.portrange.hilast=49152

What I'm doing is setting the "automatic" port-number selection
for most apps to select an open port between 49152 and 65535 --
clearly far away from the 32xxx range I want to dedicate to
certain apps.  An app must specify the 32xxx range if it is
to be allowed to use that port.  An app that wants "any" port
(specifies a port number of Zero) will *not* get one in the
range of 32xxx.

The lower bound of 49152 was chosen to be far away from some
other hard-coded apps that I'm aware of and use, including
projects such as P2P-Radio, S2S (these two are at Sourceforge
also), PeerCast, and others, in case you'd like to try p2p-style
radio netcasting to save bandwidth costs.  To learn what
hard-coded port-numbers your apps use, read the docs for every
clue including what's used to talk to the YPs etc.

There is a reason for one pair of sysctl numbers to be
'opposite' the other pair: this way some apps will use port
numbers in one direction e.g. low-to-high, and other apps will
use high-to-low, thus trying to prevent some wasted effort to
find open ports in well-behaved apps needing nonspecific ports.

After setting these sysctl values, I can do webbrowsing, UseNet,
e-mail, other listening, whatever etc., and not interfere with
the dedicated ports being used by the netcasting tasks or the
listeners.

I hope this helps somehow.





Concerned about your privacy? Instantly send FREE secure email, no account required
http://www.hushmail.com/send?l=480

Get the best prices on SSL certificates from Hushmail
https://www.hushssl.com?l=485




More information about the Icecast mailing list