In the previous Wireless & Mobile UPDATE, I introduced wireless push technology and its importance in wireless applications. In this edition, I expand the topic by exploring Short Message Service (SMS).

SMS is one of the oldest and best-known technologies for delivering wireless push applications. More than 3 years ago—well before Wireless Application Protocol (WAP)—we were developing intranet SMS applications that let enterprise users push messages from an intranet application to users in the field. You could use a Web-based form to enter a message title and a message of up to 160 characters. When the form was submitted, the message traveled through an SMS gateway to the selected user's SMS-enabled mobile phone, which in turn beeped and displayed the message.

SMS, built directly into the Global System for Mobile Communication (GSM) specification, is a bearer-dependent technology. SMS has found its way into other wireless network technologies, such as Time Division Multiple Access (TDMA) and Code Division Multiple Access (CDMA), which let users send and receive short messages.

SMS's main features, as per GSM specifications, parallel those of other wireless network technologies, but SMS's dependence on GSM can be a huge disadvantage. Wireless middleware and other technologies such as WAP push applications improve the situation somewhat, but the application described below works only on a GSM network.

SMS uses the signaling channel that is used for call control, the services that send or receive voice/data calls and maintain calls that are underway. Although an SMS short message is limited to 160 characters, some devices send or receive longer messages by concatenation (i.e., stringing several messages together).

SMS is a store-and-forward service. Messages must be sent via a Short Message Service Center (SMSC), not directly from sender to recipient. GSM networks typically employ one or more SMSCs to manage messages. The service provider controls the SMSC, which stores and forwards messages to the appropriate network user. If the user has left the coverage area or turned off the phone, the SMSC stores the message and delivers it when the device is reactivated on the network.

When you develop wireless push applications with SMS, the applications go through an SMS gateway between the application and GSM network. The gateway performs protocol translations and lets the messages pass in and out of the GSM network.

I've used several commercial SMS gateways. I prefer the WinSMS Gateway for smaller enterprise implementations, but the gateway works only with GSM SMS, a limitation that makes it practically irrelevant in the US market. As I mentioned in the previous Wireless & Mobile UPDATE, you should use the carrier's SMTP gateway to send a short message in the US market.

The VBScript code that follows demonstrates sending a short message compatible with the WinSMS Gateway mentioned above.

                              	varSMSAddress = Request("Address")                                 varMessage = Request("Message")                                 varTitle = Request("Title")                                 Set SMSGatewayObject = CreateObject("SMSGateway.SMS")                                 SMSGatewayObject.Send_Message varTitle, varSMSAddress, varMessage                                 If SMSGatewayObject.Send_Message = 0 Then                                    msg = "Your message was not sent. Please try again later."                                 Else                                    msg = "Your message was sent."                                 End If

The code defines the address and message variables, creates an instance of the SMS gateway object, then calls the Send Message function in which the message title, address, and message parameters are specified. We can check this function's result to determine whether the message was successfully sent.

In the next Wireless & Mobile UPDATE, I'll further discuss wireless alerts and notifications and UP.Link Alerts, another important technology in mobile applications.