What I did was to write a very simple APP in VB, which takes an alert from The Dude, and then sends this on to the SMS gateway. That way I could control the SMS gateway using a language I understood (VB6).
In The Dude I created a new Notification called "SMS Send" of type "Execute on Server"
In the definition for this Notification, I put the following code:
SMSSender.exe Service [Probe.Name] on [Device.Name] is now [Service.Status] ([Service.ProblemDescription])
SMSSender.exe is my VB6 app, which is then called when a Dude alert is triggered. In SMSSender.exe the alert test is passed as a command line argument, and my little VB App picks this up and passes it on to the SMS Gateway.
In my case, it is a little more complex as I am actually dialling an SMS Gateway using a USB Modem, and issuing a load of commands to create and send SMS messages.
However, it was WELL worth the effort, as the Dude can now alert me when our Internet line is down!!