Short Message Service (SMS) adalah protokol layanan pertukaran pesan text singkat (sebanyak 160 karakter per pesan) antar telepon Layanan SMS merupakan sebuah layanan yang bersifat nonreal time yaitu suatu layanan di mana sebuah short message dapat di-submit ke suatu tujuan, tidak peduli apakah tujuan tersebut aktif atau tidak .
Berikut ini adalah blok diagram pengiriman sms
Keterangan:
BTS – Base Transceiver Station
BSC – Base Station Controller
MSC – Mobile Switching center
SMSC – Short Message Service Center
Alur dari pengiriman sms di atas yaitu sebagai berikut:
Ketika pengguna mengirim SMS, maka pesan dikirim ke MSC melalui jaringan seluler yang tersedia yang meliputi tower BTS yang sedang meng-handle komunikasi pengguna, lalu ke BSC, kemudian sampai ke MSC. MSC kemudian mem-forward lagi SMS ke SMSC untuk disimpan. SMSC kemudian mengecek (lewat HLR – Home Location Register) untuk mengetahui apakah handphone tujuan sedang aktif dan dimanakah handphone tujuan tersebut.Jika handphone sedang tidak aktif maka pesan tetap disimpan di SMSC itu sendiri, menunggu MSC memberitahukan bahwa handphone sudah aktif kembali untuk kemudian SMS dikirim dengan batas maksimum waktu tunggu yaitu validity period dari pesan SMS itu sendiri. Jika handphone tujuan aktif maka pesan disampaikan MSC lewat jaringan yang sedang meng-handle penerima (BSC dan BTS).
Sebenarnya, di dalam kebanyakan handphone dan GSM/CDMA modem terdapat suatu komponen wireless modem/engine yang dapat diperintah antara lain untuk mengirim suatu pesan SMS dengan protokol tertentu. Standar perintah tersebut dikenal sebagai AT-Command, sedangkan protokolnya disebut sebagai PDU (Protokol Data Unit). Melalui AT-Command dan PDU inilah kita dapat membuat komputer/mikrokontroller mengirim/menerima SMS secara otomatis berdasarkan program yang kita buat.