Does your router have a built-in firewall? If so, try enabling port forwarding. I'm not sure which ports iChat operates on though.
However, to me it looks more like a connection problem. You say that it also helps if you reset the modem, not only the router. Try disconnecting from the internet and connecting again for a change, maybe that'll work too.