I had the same problem at home and found out it was due to "Packet Fragmentation", it was fairly easy to test for and fix the problem. You can follow the instructions at this site and you may be able to fix the problem yourself.
http://www.dslreports.com/faq/5793