Icecast Streaming Media Server Forum Index Icecast Streaming Media Server
Icecast is a Xiph Foundation Project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Having problems connecting to my stream

 
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server
View previous topic :: View next topic  
Author Message
Anonymous
Guest





PostPosted: Wed Nov 14, 2007 3:23 am    Post subject: Having problems connecting to my stream Reply with quote

Hello,

I'm running SAM4 and trying to setup an Icecast server on a Windows platform with Windows XP.

Communication between SAM and Icecast seem to be working fine. The server shows the proper info, and I'm to the point where I can connect to the stream on the same computer that's running the Icecast server, and I can access the stream just fine at http://127.0.0.1:8000/listen.

However, I cannot seem connect to my stream on any other computer in my house, nor can I connect from any computer outside of my network (IE, using the neighbors connection). On the upstairs computer, http://127.0.0.1:8000/listen does not work, nor does using http://my.ip.address:8000/listen.

On the surface, it would seem TO ME that it's an issue with my firewall. However, I had the firewalls configured properly for Shoutcast, and Shoutcast worked just fine with this setup. Port 8000 is open in the Windows firewall, as well as Exceptions for access to the Icecast program.

In the Icecast config file, I entered my IP address as the Hostname, and from doing some reading on the forum, it seems Icecast is reporting the listenurl as it should be, http://my.ip.address:8000/listen. Yet when I try to access that URL from a computer outside of my network, Winamp says "connecting to host", then times out.

My config file is as follows:

Code:
icecast>
    <limits>
        <clients>100</clients>
        <sources>2</sources>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <!-- If enabled, this will provide a burst of data when a client
             first connects, thereby significantly reducing the startup
             time for listeners that do substantial buffering. However,
             it also significantly increases latency between the source
             client and listening client.  For low-latency setups, you
             might want to disable this. -->
        <burst-on-connect>1</burst-on-connect>
        <!-- same as burst-on-connect, but this allows for being more
             specific on how much to burst. Most people won't need to
             change from the default 64k. Applies to all mountpoints  -->
        <burst-size>132000</burst-size>
    </limits>

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>hackme</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>hackme</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>hackme</admin-password>
    </authentication>

    <!-- Uncomment this if you want directory listings -->
    <!--
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url>
    </directory>
     -->

    <!-- This is the hostname other people will use to connect to your server.
    It affects mainly the urls generated by Icecast for playlists and yp
    listings. -->
    <hostname>68.54.***.***</hostname>

    <!-- You can use these two if you only want a single listener -->
    <!--<port>8000</port> -->
    <!--<bind-address>127.0.0.1</bind-address>-->

    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>8000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>8001</port>
    </listen-socket>
    -->

    <!--<master-server>127.0.0.1</master-server>-->
    <!--<master-server-port>8001</master-server-port>-->
    <!--<master-update-interval>120</master-update-interval>-->
    <!--<master-password>hackme</master-password>-->

    <!-- setting this makes all relays on-demand unless overridden, this is
         useful for master relays which do not have <relay> definitions here.
         The default is 0 -->
    <!--<relays-on-demand>1</relays-on-demand>-->

    <!--
    <relay>
        <server>127.0.0.1</server>
        <port>8001</port>
        <mount>/example.ogg</mount>
        <local-mount>/different.ogg</local-mount>
        <on-demand>0</on-demand>

        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>
    -->

    <!-- Only define a <mount> section if you want to use advanced options,
         like alternative usernames or passwords
    <mount>
        <mount-name>/example-complex.ogg</mount-name>

        <username>othersource</username>
        <password>hackmemore</password>

        <max-listeners>1</max-listeners>
        <dump-file>/tmp/dump-example1.ogg</dump-file>
        <burst-size>65536</burst-size>
        <fallback-mount>/example2.ogg</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>1</fallback-when-full>
        <intro>/example_intro.ogg</intro>
        <hidden>1</hidden>
        <no-yp>1</no-yp>
        <authentication type="htpasswd">
                <option name="filename" value="myauth"/>
                <option name="allow_duplicate_users" value="0"/>
        </authentication>
        <on-connect>/home/icecast/bin/stream-start</on-connect>
        <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
    </mount>

    <mount>
        <mount-name>/auth_example.ogg</mount-name>
        <authentication type="url">
            <option name="mount_add"       value="http://myauthserver.net/notify_mount.php"/>
            <option name="mount_remove"    value="http://myauthserver.net/notify_mount.php"/>
            <option name="listener_add"    value="http://myauthserver.net/notify_listener.php"/>
            <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
        </authentication>
    </mount>

    -->

    <fileserve>1</fileserve>

    <!-- set the mountpoint for a shoutcast source to use, the default if not
         specified is /stream but you can change it here if an alternative is
         wanted or an extension is required
    <shoutcast-mount>/live.nsv</shoutcast-mount>
    -->

    <paths>
      <!-- basedir is only used if chroot is enabled -->
        <basedir>./</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>./logs</logdir>
        <webroot>./web</webroot>
        <adminroot>./admin</adminroot>
        <!-- <pidfile>./icecast.pid</pidfile> -->

        <!-- Aliases: treat requests for 'source' path as being for 'dest' path
             May be made specific to a port or bound address using the "port"
             and "bind-address" attributes.
          -->
        <!--
        <alias source="/foo" dest="/bar"/>
          -->
        <!-- Aliases: can also be used for simple redirections as well,
             this example will redirect all requests for http://server:port/ to
             the status page
          -->
        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <!-- <playlistlog>playlist.log</playlistlog> -->
         <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
         <logsize>10000</logsize> <!-- Max size of a logfile -->
        <!-- If logarchive is enabled (1), then when logsize is reached
             the logfile will be moved to [error|access|playlist].log.DATESTAMP,
             otherwise it will be moved to [error|access|playlist].log.old.
             Default is non-archive mode (i.e. overwrite)
        -->
        <!-- <logarchive>1</logarchive> -->
    </logging>

    <security>
        <chroot>0</chroot>
        <!--
        <changeowner>
            <user>nobody</user>
            <group>nogroup</group>
        </changeowner>
        -->
    </security>
</icecast>


Do you see anything wrong? Any help would be appreciated.
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Wed Nov 14, 2007 3:50 am    Post subject: Reply with quote

127.0.0.1 won't work from another computer, because 127.0.0.1 is reserved to be the local machine. Listeners will always have to use a LAN IP like 192.16.8.x.x or a proper internet address.

You are not using bind-address so icecast is listening on all interfaces providing connections can get to it. A misconfigured NAT or firewall are typical causes for blocked access.

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Thu Nov 15, 2007 12:20 am    Post subject: Reply with quote

karlH wrote:
127.0.0.1 won't work from another computer, because 127.0.0.1 is reserved to be the local machine. Listeners will always have to use a LAN IP like 192.16.8.x.x or a proper internet address.

You are not using bind-address so icecast is listening on all interfaces providing connections can get to it. A misconfigured NAT or firewall are typical causes for blocked access.

karl.

Yeah, I'm aware that 127.0.0.1 will not work outside of the local machine. I guess I just mentioned that to show that I'm positive the communication between SAM and Icecast is working fine, as I can connect to it locally...and that I seem to have the Icecast server configured properly if it's all working. But no one outside of the local machine can connect using my IP address, and I was confused as to why. As far as I know, I have all firewall settings correct. I know the Shoutcast server bypassed my firewalls just fine, and I'm banging my head trying to figure out why Icecast is not doing the same.
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Thu Nov 15, 2007 12:36 am    Post subject: Reply with quote

You'll have to ask your network administrator to monitor the network for incoming connection attempts to icecast. If they get to the icecast server machine then you know it's not a LAN issue and most likely a firewall on that machine. Requests for the status page in a browser should be enough to test it.

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Thu Nov 15, 2007 1:46 am    Post subject: Reply with quote

karlH wrote:
You'll have to ask your network administrator to monitor the network for incoming connection attempts to icecast. If they get to the icecast server machine then you know it's not a LAN issue and most likely a firewall on that machine. Requests for the status page in a browser should be enough to test it.

karl.

OK....I just attempted to pull up the status page on my neighbor's connection, which should be located at http://my.ip.address:8000/status.xsl correct? The page is not found. I can pull it up on the local machine, but nowhere else. Based on what you've said, does that mean this is most likely a LAN issue over a firewall issue? If so, what exactly would I request the network administrator change to fix this?
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Thu Nov 15, 2007 2:14 am    Post subject: Reply with quote

Yes, the url will be something lile http://ip:port/status.xsl
Make sure of the actual result that you get from doing the request. If it's timing out then it will be something preventing the request from getting to the server, if however, the result is a http 404 page not found type response then that means something is responding and it's probably not icecast (assuming the same request works internally). If you have a NAT setup then make sure the connection is being forward correctly.

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Thu Nov 15, 2007 2:21 am    Post subject: Reply with quote

karlH wrote:
Yes, the url will be something lile http://ip:port/status.xsl
Make sure of the actual result that you get from doing the request. If it's timing out then it will be something preventing the request from getting to the server, if however, the result is a http 404 page not found type response then that means something is responding and it's probably not icecast (assuming the same request works internally). If you have a NAT setup then make sure the connection is being forward correctly.

karl.

Yep, it's a 404 Page Not Found error, like it's not there. I guess I'll have to look deeper into this. Unfortunately, I know very little about networks and their makeup, so finding the problem is going to be somewhat difficult for me.

Just a side note, I find it strange that the Shoutcast server works fine on this very same setup. I realize that Shoutcast and Icecast are two completely different programs, programmed differently by different people. But they are essentially built to do the same thing, so I can't understand why one works and the other won't. Maybe I'm just ignorant to the differences in the ways the two programs handle networks and the like. I know it's not fair to compare two completely different programs, but like I said, considering they are built to do the same thing, I would think they would react identically to a network and/or whatever might be blocking it.
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Thu Nov 15, 2007 2:27 am    Post subject: Reply with quote

With a 404 error then, something is responding and no doubt you've checked the icecast access log to see if your icecast is doing that. icecast would issue a 404 in some cases. Obviously I don't know your setup so I cannot give specifics but if it isn't icecast then it may be a web server or shoutcast then is getting in the way.

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group
subRebel style by ktauber