How to set up Windows Media Services 9 Series to use HTTP streaming on port 80 with IIS 6.0 installed


Microsoft Windows Media Services (WMS) and Microsoft Internet Information Services (IIS) can coexist on a computer when you use their default values. By default, WMS does not enable the WMS HTTP Server Control Protocol plug-in. In this manner, IIS can safely bind to port 80 for delivery of Web-based content.

Sometimes it can be useful for WMS to use port 80 to deliver content. For example, if the majority of a content provider's clients are behind a firewall, it can be better to use port 80 for delivery of streaming content, because most firewalls have port 80 opened.

With IIS 6.0, HTTP requests are handled by the Http.sys listener. By default, Http.sys will listen to all requests coming in on port 80 for all IP addresses bound to the computer (except for the loopback address: For WMS to bind to use port 80 for streaming content, you must configure the Http.sys listener so that WMS can listen to the specified IP addresses. If you enable the HTTP Server Control Protocol plug-in without configuring the listener, you may receive the following error:
One usage of each socket address (protocol/network address/port) is permitted. Verify that other services (such as IIS) or applications are not attempting to use the same port and then try to enable the plug-in again.

Error Code: 0xC00D158B

More Information

For both IIS and WMS to use port 80, one of the following two conditions must be true:
  • One (1) network adapter has at least 2 IPs bound to the adapter.
  • Two (2) network adapters have at least 1 IP bound to each adapter.
If either of these conditions is true, follow these steps to configure the listener:
  1. From a command prompt, type the appropriate command to stop the following services:
    • Windows Media Services: net stop wmserver
    • Internet Information Services: net stop iisadmin
    • Http.sys Listener: net stop http
  2. Run the WMSHttpSysCfg utility (located at %systemroot%\system32\windows media\server\admin\mmc\WMSHttpSysCfg.exe).
  3. Add the IP addresses that you want Http.sys to listen to. The addresses that Http.sys does not listen to are available for WMS to use. (If this list is blank, Http.sys listens to all non-loopback IP addresses).
  4. Click OK to close the dialog box.
  5. Restart the services that you stopped in step 1 (including, but not limited to):
    • Http.sys Listener: net start http
    • World Wide Web Publishing Service or IIS Admin: net start w3svc
    • Windows Media Services: net start wmserver
  6. Configure WMS HTTP Server Control Protocol:
    1. Start WMS Admin MMC.
    2. Select the server name.
    3. Click the Properties tab, and then click Control Protocols.
    4. If it is not already disabled (or if it is In Error), right-click WMS HTTP Server Control Protocol, and then click Disable.
    5. Right-click WMS HTTP Server Control Protocol, and then click Properties.
    6. Click Allow selected IP addresses to use this protocol.
    7. Select the IP addresses that you want to deliver content over port 80.

      Note Do not select the same IP addresses as the ones that you added to the Http.sys listener in step 3, otherwise the plug-in might go into an error state when it is enabled.
    8. Set the plug-in to Use default port (80).
    9. Click Apply, and then click OK to close the dialog box.
    10. Right-click WMS HTTP Server Control Protocol, and then click Enable.
At this point, you can expect that WMS is streaming media content over port 80 for the IPs selected in the control plug-in, and that Http.sys is handling all other port 80 requests.

Important Other applications might make a configuration utility that can change the Http.sys IP listen list. When you restart the Http.sys service the next time, it can bind to port 80 on an address selected by WMS and might cause the control plug-in to go into an error state.

If you are using Microsoft Windows Server 2003 with Service Pack 1 installed, you can also prevent the Http.sys service from capturing all available IP addresses for port 80 by applying the hotfix that is mentioned in the following Microsoft Knowledge Base article:
892847 FIX: IIS 6.0 incorrectly binds to ports when IP addresses are added to the IP inclusion list

This hotfix lets you set a registry value that makes the Http.sys service listen only to the specific IP addresses that IIS Web sites are configured to use.

For more information about running Windows Media Services v4.1 with IIS 5.0, click the following article number to view the article in the Microsoft Knowledge Base:

268585 Running IIS 5.0 and Windows Media Services with HTTP streaming


Identyfikator artykułu: 328728 — ostatni przegląd: 03.12.2007 — zmiana: 1