Yahoo! on a Router, Firewall or Proxy!
People using Routers, Firewalls and Proxies often experience Yahoo! Messenger connection problems. The official Yahoo! support lacks detailed information, and misses some important facts! The following aims to break the information down, and explain easily in sufficient detail.
Connection Options
There are 4 connection Options.
These may be found from the Messenger menu, choose Perferences, and click Connection.
Connection | When to use | |
No Proxies | This is the default option for those who dont have any security issues, such as firewalls or connection through proxies. | |
Firewall, No Proxies | This option is selected if a firewall is detected. This method forbids voice chat, super webcam, and p2p IM. This option is not recommended, unless you have no control over your firewall. | |
Use Proxies | Use this when you have to connect through a proxy, HTTP (basic and slow) or SOCKS4 or SOCKS5(with authentication). Common in the workplace, or advanced security. | |
No Network Detection | Recommended for everyone who doesn't require a proxy server, and has firewall control. The firewall option doesn't care that you open ports, it automatically blocks, this option does not perform any detection of your network type. |
Ports Yahoo! Messenger uses!
Yahoo! Messenger services uses a variety of ports.
Service | Ports |
Chat & Messenger | TCP Port 5050: Client Access only |
Insider/Room Lists | TCP Port 80: Client Access only |
File Transfer | TCP Port 80: Server Access. Your ISP may block this port, as its used for web hosting. You can change port in Messenger, Preferences, File Transfer. |
Voice Chat | UDP 5000-5010 TCP 5000-5001: Client Access If UDP Fails, TCP will be used instead, see below. |
WebCam | TCP Port 5100: Client Access |
Super Webcam | TCP Port 5100: Server Access |
P2P Instant Messages | TCP Port 5101: Server Access PMs between Buddys may not use the Yahoo! Server, but this is not a requirement. |
TCP versus UDP
TCP is a reliable protocol, and all data sent has a number of extra fields that guarantee delivery. This creates large overhead, and can make the stream slower.
UDP does not carry the same overhead, the data is transmitted much faster, but some data may not be delivered.
If you use a firewall
You need to enable the application Yahoo! Messenger, filename ypager.exe to access the internet, in most personal firewalls, this will give Yahoo! Messenger access to anything it desires, in client mode.
For server mode, you will most likely be prompted.
Proxy Users
HTTP Proxy is slow and unreliable, you cannot access voice chat, or webcam, or any of the advanced interactive services.
SOCKS4 and SOCKS5 are common in the workplace, as they allow more ports to be closed. SOCKS5 requires authentication available from your administrator.
Routers
If you use a router, client access to the Yahoo! Services will be as simple as if you did not use a router.
Where server access is required, you will need to use port forwarding or port triggering.
Port Forwarding/Virtual Server/Forwarding
You need to tell your router which computer on your network to forward the server packets too. This usually follows the form of specifying the computers IP, such as 192.168.1.2, the start port, and end port (from the table above, such as start 80 end 80 for file transfer, 5100 and 5100 for super webcam), and a map port (the same as the start and end).
WebHazard has a graphical tutoral on how for the D-Link routers for Yahoo! Voice Chat. View that here.
Port Triggering (LinkSys) - Super Webcam/UDP Voice
LinkSys routers allow a dynamic form of port forwarding, called port triggering. They maintain a connection tracking, when messenger makes a specific connection, the router is notified that an incoming server connection may follow
For UDP voice, a packet outgoing on port 5000 may cause a response to arrive on another port, say 5001. Linksys routers may be told to expect this, by setting the triggering range to 5000-5010, and the incoming range to 5000-5010.
For webcam, a packet outgoing on port 5100 will tell the router a server connection may come in on port 5100, setting the same ranges.