SMS messaging has been implemented using a number of different SMS providers using their API. And this includes Skype and Google. However, with sms messaging from phones so cheap, it seems easier to just use your local phone. And this is made much easier because Android phones have a thing call SL4A which allows you to setup an Android phone as a server which accepts remote commands from clients. I think I'm going to have a go at writing the Android server and integrate a client into Synapse.