I'm really curious how you implemented this solution. I didn't know that it's a possible way to make GSM data exchange.

Anyway, if I wanted to transmit data over GSM, then I'd use either a CSD or HSCSD connection. This way, you can easily choose among the bearers, I mean among the access points. You need to simply use sockets, RSocket classes indeed, with the appropriate helper classes (such as RSocketServ and RHostResolver). I think this is the preferred way.