I'm developing a mobile messaging platform for a project using C#, I have tried all manner of connection options without success. What do I send? How do I send it? What's the handshake over TCP?

Our ethernet modem is not designed for use for mobile message applications. It is a simple NAT router over a GPRS connection. It allows any IP device on the LAN to access the Internet and it allows the Internet to access any of the internal LAN devices using IP. If you want to do mobile messaging, you will need to use TCP connect to port 5000 and use the modem AT commands to perform all your mobile messaging.