In my spare time I do some consulting jobs mostly about telecom stuff and in one of these jobs I wrote a Dialer software for Asterisk which makes phone calls to users (numbers) loaded from a database. If the call is successful the program must inform the called party about what just happened by sending a SMS. Everything was OK until this feature was required.
We used a 8 ports DWG2000 GSM gateway manufactured by Dinstar which works really fine in terms of overall performance and voice quality. It also supports sending/receiving SMS’s but the API exposed works only on Windows machines and since the source code of the driver remains undisclosed, we (I’m part of a team) were unable to port it to Linux. What they do provide is a detailed protocol specification with enough documentation to implement it by myself and the result of that effort can be found in my github account.
It is still in a very early stage but I’m planning to implement the whole protocol soon but for now, it works for sending and receiving SMS’s, it suited quite well the requirements of my last consulting job.