答：方法很简单, 在host里面添加DNS解析: 127.0.0.1 streaming.contoso.com, 这里streaming.contoso.com应该替换为自己的域名.這樣用http://或mms://都可在外網播放了。当然路由器要作相应的兩個端口映射（http端口（默認80）和rtsp端口（554），用mms://時播放器實際上是轉成了RTSP端口了）。我已经试過了可行。
I've talked to a number of people that are having problems streaming from Windows Media Services 2008 on Windows Server 2008 when the server is behind a NAT firewall, some proxies, or load balancers. Clients on the internal network work just fine. In a network trace you'll see at WMS is returning a 503 Service Unavailable as the first response to the RTSP DESCRIBE or HTTP GET.
WMS is doing a DNS query for the domain name in the RTSP or HTTP request when the request is not the local NetBIOS, local DNS, or local IP. If a WMP client is requesting content through a NAT or similar device (such as some proxies and load balancers that hides or translate an external URL to an internal URL), the requested address might be something like mms://streaming.contoso.com/live. However internally the server name might be WMS01 or WMS01.corp.contoso.com. This generally is only going to happen if you're using Network Address Translation.
WMS 9.5 now contains a cache/proxy in the box. What's happening is when WMS doesn't recognize the requested URL as itself it is assuming that the request may be a proxy request. This happens even if the cache/proxy plug-in is disabled. Because internal clients would use the internal IP, NetBIOS, or DNS name, the server recognizes those request as intended for the local server itself.
You can work around this problem by adding any possible DNS name that could be requested by a client to the WMS server'sc:\windows\system32\drivers\etc\HOSTS file and point it tolocalhost. It would be something like:
We're investigating a way to fix this issue more permanently.