At least, that's the way it used to work. The only reason I can think of nowadays for having to have specialized software is for punching through firewalls which may be the reasoning for it. If you're behind a NAT you obviously have a different IP address and may not have a port accessible through a router and the client as well. If they run the entire session directly through the server rather than the 2 programs directly it would require specialized software to handle real-time communications.
Now that I think about it, that's probably what they're doing which solves a lot of problems. Don't mind me. Not enough coffee today. lol