http://www.developershome.com/sms/
SMS (Short Message Service) has achieved huge success in the wireless world. Billions of SMS messages are sent every day. SMS is now a major revenue generator for wireless carriers. A lot of innovative applications are now built on top of the SMS technology and more are being developed.
This SMS tutorial provides information about SMS application development. It begins with an introduction of mobile messaging technologies like SMS, concatenated SMS and EMS. You will learn what SMS is, what causes SMS messaging to be so popular worldwide, what applications can be developed with the SMS technology, what SMS center and SMS gateway are, and some other basic concepts of SMS messaging.
After that, we will discuss in detail various ways to send and receive SMS messages from a computer, the advantages and disadvantages of each way, what SMS service providers are, the hardware (e.g. GSM / GPRS modem) and software (e.g. HyperTerminal) required to send and receive SMS messages from a computer, and where to find some free SMS messaging libraries and tools.
Note to non-developers:
This SMS tutorial contains technical information that non-developers may not interested in. If you are an ordinary user who do not want to develop SMS software or applications but just want to send and receive SMS messages from a PC, you may want to go directly to our quick guide for non-developers.
Table of Contents
1. Introduction to SMS Messaging
1.1. What is SMS (Short Message Service)?
1.2. Concatenated SMS Messages / Long SMS Messages
1.3. EMS (Enhanced Messaging Service)
2. What Makes SMS Messaging So Successful Worldwide?
2.1. SMS Messages can be Sent and Read at Any Time
2.2. SMS Messages can be Sent to an Offline Mobile Phone
2.3. SMS Messaging is Less Disturbing While You can Still Stay in Touch
2.5. SMS is a Suitable Technology for Wireless Applications to Build on
3. Example Applications of SMS Messaging
3.1. Person-to-Person Text Messaging
3.4.1. Email, Fax and Voice Message Notifications
3.4.2. E-commerce and Credit Card Transaction Alerts
3.4.4. Remote System Monitoring
3.5. Two-way Interactive Text Messaging Applications
4. What is an SMS Center / SMSC?
5. Basic Concepts of SMS Technology
5.1. Validity Period of an SMS Message
5.3. Message Submission Reports
6. Intra-operator SMS Messages
6.1. Transmission Process of Intra-operator SMS Messages
7. Inter-operator SMS Messages
7.1. Transmission Process of Inter-operator SMS Messages
9.1. Open Source and Free SMS Gateway Software
10. How to Send SMS Messages from a Computer / PC?
10.1. The 1st Way: Sending SMS Messages from a Computer Using a Mobile Phone or GSM/GPRS Modem
10.2.1. Difficulties in Getting a Direct Connection to the SMSC or SMS Gateway of a Wireless Carrier
10.2.2. SMS Service Providers (SMS Gateway Providers, SMS Resellers, SMS Brokers)
10.2.3. Sending SMS Messages Using a Protocol / Interface Supported by an SMSC or SMS Gateway
11. How to Receive SMS Messages Using a Computer / PC?
11.1. The 1st Way: Using a Computer to Receive SMS Messages through a Mobile Phone or GSM/GPRS Modem
11.3.1.1. Cost of SIM Hosting Service
11.3.2.1. Registering Keywords
11.3.2.2. Cost of Shared Phone Number Service
11.4. Receiving SMS Messages Using a Protocol / Interface Supported by an SMSC or SMS Gateway
12. Introduction to GSM / GPRS Wireless Modems
12.3. Which is Better: Mobile Phone or GSM / GPRS Modem?
13. How to Use Microsoft HyperTerminal to Send AT Commands to a Mobile Phone or GSM/GPRS Modem?
13.1. What is Microsoft HyperTerminal?
14. Introduction to AT Commands
14.1. Basic Commands and Extended Commands
15. General Syntax of Extended AT Commands
15.1. Information Response and Final Result Code
15.2. Case Sensitivity of AT Commands
16. Result Codes of AT Commands
16.1. Final Result Codes of AT Commands
16.1.1. The OK Final Result Code
16.1.2. The ERROR Final Result Code
16.2. Final Result Code Specific to SMS AT Commands
16.2.1.1. Table of +CMS Error Codes and Their Meanings
16.3. Unsolicited Result Codes of AT Commands
17. AT Command Operations: Test, Set, Read and Execution
17.1. Test Command -- Checks Whether a Certain AT Command is Supported
17.2. Set Command -- Changes the Settings Used for Certain Tasks
17.3. Read Command -- Retrieves the Current Settings Used for Certain Tasks
18. Testing the Communication between the PC and GSM/GPRS Modem or Mobile Phone
19.2.1. Overview of the AT Commands Required
20. Operating Mode: SMS Text Mode and SMS PDU Mode
20.1. Comparison of SMS Text Mode and SMS PDU Mode
20.2. Selecting the Operating Mode (AT+CMGF)
21. Setting or Reading the Service Center Address / SMSC Address (AT+CSCA)
21.1. Syntax of the +CSCA AT Command
21.1.1. Setting the Service Center Address
21.1.2. Reading the Service Center Address
22. Preferred Message Storage (AT+CPMS)
22.2. Format of the Information Response of the +CPMS AT Command
22.3. Finding the Message Storage Areas Supported by a GSM/GPRS Modem or Mobile Phone
23. Writing SMS Messages to Memory / Message Storage (AT+CMGW)
23.1. Syntax of the +CMGW AT Command in SMS Text Mode
23.2. SMSC Number Stored with the SMS Message (SMS Text Mode)
23.3. Format of the Information Response of the +CMGW AT Command in SMS Text Mode
23.5. Syntax of the +CMGW AT Command in SMS PDU Mode
23.6. SMSC Number Stored with the SMS Message (SMS PDU Mode)
23.7. Format of the Information Response of the +CMGW AT Command in SMS PDU Mode
24. Deleting SMS Messages from Message Storage (AT+CMGD)
24.1. Syntax of the +CMGD AT Command
24.2. Finding the Supported Indexes and Flag Values
24.3. Example Demonstrating How to Use the +CMGD AT Command to Delete SMS Text Messages
25. Sending SMS Messages from a Computer / PC Using AT Commands (AT+CMGS, AT+CMSS)
25.1. Comparison Table of the AT Commands +CMGS and +CMSS
25.2. Syntax of the +CMGS AT Command in SMS Text Mode
25.3. Format of the Information Response of the +CMGS AT Command in SMS Text Mode
25.5. Syntax of the +CMGS AT Command in SMS PDU Mode
25.5.1.2. The TPDU Part (SMS-SUBMIT TPDU)
25.6. Format of the Information Response of the +CMGS AT Command in SMS PDU Mode
25.8. Syntax of the +CMSS AT Command in SMS Text Mode and PDU Mode
25.9. Format of the Information Response of the +CMSS AT Command in SMS Text Mode and PDU Mode
25.10. SMSC Number to be Used by the +CMSS AT Command to Send SMS Messages
25.10.2.1. Case 1: SMSC Part is Not "00"
25.10.2.2. Case 2: SMSC Part is "00"
25.10.3. Reading the SMSC Number Saved with an SMS Message
26. Reading SMS Messages from a Message Storage Area Using AT Commands (AT+CMGR, AT+CMGL)
26.1. Comparison Table of the AT Commands +CMGR and +CMGL
26.2. Using the +CMGR AT Command to Read an SMS Message from a Message Storage Area
26.2.1. Syntax of the +CMGR AT Command in SMS Text Mode
26.2.2. Format of the Information Response of the +CMGR AT Command in SMS Text Mode
26.2.2.1. Incoming SMS Messages and Outgoing SMS Messages
26.2.2.2. Details of the Fields that Appear in the +CMGR Information Response
26.2.4. Syntax of the +CMGR AT Command in SMS PDU Mode
26.2.5. Format of the Information Response of the +CMGR AT Command in SMS PDU Mode
26.2.6.1. Incoming SMS Messages and Outgoing SMS Messages
26.2.6.3. The TPDU Part (SMS-DELIVER TPDU)
26.3.1. Syntax of the +CMGL AT Command in SMS Text Mode
26.3.2. Format of the Information Response of the +CMGL AT Command in SMS Text Mode
26.3.3. Finding the Message Status Values Supported by the +CMGL AT Command in SMS Text Mode
26.3.5. Syntax of the +CMGL AT Command in SMS PDU Mode
26.3.6. Format of the Information Response of the +CMGL AT Command in SMS PDU Mode
26.3.7. Finding the Message Status Values Supported by the +CMGL AT Command in SMS PDU Mode