HARGA CD REFERENSI SMS GATEWAY
NO JUDUL PROGRAM SKRIPSI HARGA
1 SMS Layanan dengan Berbagai Format SMS (dasar SMS Gateway dg Java) + CD Referensi Lengkap [ Lihat ] Rp. 400.000,-
2 SMS Layanan Jadwal Kuliah Mahasiswa (Semua Java) + CD Referensi Lengkap [ Lihat ] Rp. 600.000,-
3 SMS Layanan Informasi Data Nilai Mahasiswa (Java n Delphi) + CD Referensi Lengkap[ Lihat ]
(Khusus untuk paket 3 ini, Ada makalah Bab 1- Bab 5....Super Lengkap )
Rp. 800.000,-
4 SMS Informasi Layanan Masyarakat (Java n PHP) + CD Referensi Lengkap [ Lihat ] Rp. 600.000,-
5 SMS Layanan Informasi Akademik (Semua Java) + CD Referensi Lengkap[ Lihat ] Rp. 1.500.000,- (Tanpa bimbingan Online)
 
Home | Profil Kami | Pemesanan | Pembayaran | Lainnya

Rabu, 04 Februari 2009

How to Send SMS Messages from a Computer / PC?

In general, there are two ways to send SMS messages from a computer / PC to a mobile phone:

  1. Connect a mobile phone or GSM/GPRS modem to a computer / PC. Then use the computer / PC and AT commands to instruct the mobile phone or GSM/GPRS modem to send SMS messages.

  2. Connect the computer / PC to the SMS center (SMSC) or SMS gateway of a wireless carrier or SMS service provider. Then send SMS messages using a protocol / interface supported by the SMSC or SMS gateway.

If you do not want to develop SMS software or applications but just want to use your computer / PC to send text messages, you may want to read our Quick Guide for Non-Developers.

The 1st Way: Sending SMS Messages from a Computer Using a Mobile Phone or GSM/GPRS Modem

The SMS specification has defined a way for a computer to send SMS messages through a mobile phone or GSM/GPRS modem. A GSM/GPRS modem is a wireless modem that works with GSM/GPRS wireless networks. A wireless modem is similar to a dial-up modem. The main difference is that a wireless modem transmits data through a wireless network whereas a dial-up modem transmits data through a copper telephone line. More information about GSM/GPRS modems will be provided in the section "Introduction to GSM / GPRS Wireless Modems". Most mobile phones can be used as a wireless modem. However, some mobile phones have certain limitations comparing to GSM/GPRS modems. This will be discussed in the section "Which is Better: Mobile Phone or GSM / GPRS Modem" later.

To send SMS messages, first place a valid SIM card from a wireless carrier into a mobile phone or GSM/GPRS modem, which is then connected to a computer. There are several ways to connect a mobile phone or GSM/GPRS modem to a computer. For example, they can be connected through a serial cable, a USB cable, a Bluetooth link or an infrared link. The actual way to use depends on the capability of the mobile phone or GSM/GPRS modem. For example, if a mobile phone does not support Bluetooth, it cannot connect to the computer through a Bluetooth link.

After connecting a mobile phone or GSM/GPRS modem to a computer, you can control the mobile phone or GSM/GPRS modem by sending instructions to it. The instructions used for controlling the mobile phone or GSM/GPRS modem are called AT commands. (AT commands are also used to control dial-up modems for wired telephone system.) Dial-up modems, mobile phones and GSM/GPRS modems support a common set of standard AT commands. In addition to this common set of standard AT commands, mobile phones and GSM/GPRS modems support an extended set of AT commands. One use of the extended AT commands is to control the sending and receiving of SMS messages.

The following table lists the AT commands that are related to the writing and sending of SMS messages:

AT command

Meaning

+CMGS

Send message

+CMSS

Send message from storage

+CMGW

Write message to memory

+CMGD

Delete message

+CMGC

Send command

+CMMS

More messages to send


One way to send AT commands to a mobile phone or GSM/GPRS modem is to use a terminal program. A terminal program's function is like this: It sends the characters you typed to the mobile phone or GSM/GPRS modem. It then displays the response it receives from the mobile phone or GSM/GPRS modem on the screen. The terminal program on Microsoft Windows is called HyperTerminal. More details about the use of Microsoft HyperTerminal can be found in the "How to Use Microsoft HyperTerminal to Send AT Commands to a Mobile Phone or GSM/GPRS Modem" section of this SMS tutorial.

Below shows a simple example that demonstrates how to use AT commands and the HyperTerminal program of Microsoft Windows to send an SMS text message. The lines in bold type are the command lines that should be entered in HyperTerminal. The other lines are responses returned from the GSM / GPRS modem or mobile phone.


AT
OK
AT+CMGF=1
OK
AT+CMGW="+85291234567"
> A simple demo of SMS text messaging.
+CMGW: 1

OK
AT+CMSS=1
+CMSS: 20

OK


Here is a description of what is done in the above example:

  • Line 1: "AT" is sent to the GSM / GPRS modem to test the connection. The GSM / GPRS modem sends back the result code "OK" (line 2), which means the connection between the HyperTerminal program and the GSM / GPRS modem works fine.

  • Line 3: The AT command +CMGF is used to instruct the GSM / GPRS modem to operate in SMS text mode. The result code "OK" is returned (line 4), which indicates the command line "AT+CMGF=1" has been executed successfully. If the result code "ERROR" is returned, it is likely that the GSM / GPRS modem does not support the SMS text mode. To confirm, type "AT+CMGF=?" in the HyperTerminal program. If the response is "+CMGF: (0,1)" (0=PDU mode and 1=text mode), then SMS text mode is supported. If the response is "+CMGF: (0)", then SMS text mode is not supported.

  • Line 5 and 6: The AT command +CMGW is used to write an SMS text message to the message storage of the GSM / GPRS modem. "+85291234567" is the recipient mobile phone number. After typing the recipient mobile phone number, you should press the Enter button of the keyboard. The GSM / GPRS modem will then return a prompt "> " and you can start typing the SMS text message "A simple demo of SMS text messaging.". When finished, press Ctrl+z of the keyboard.

  • Line 7: "+CMGW: 1" tells us that the index assigned to the SMS text message is 1. It indicates the location of the SMS text message in the message storage.

  • Line 9: The result code "OK" indicates the execution of the AT command +CMGW is successful.

  • Line 10: The AT command +CMSS is used to send the SMS text message from the message storage of the GSM / GPRS modem. "1" is the index of the SMS text message obtained from line 7.

  • Line 11: "+CMSS: 20" tells us that the reference number assigned to the SMS text message is 20.

  • Line 13: The result code "OK" indicates the execution of the AT command +CMSS is successful.

To send SMS messages from an application, you have to write the source code for connecting to and sending AT commands to the mobile phone or GSM/GPRS modem, just like what a terminal program does. You can write the source code in C, C++, Java, Visual Basic, Delphi or other programming languages you like. However, writing your own code has a few disadvantages:

  • You have to learn how to use AT commands.

  • You have to learn how to compose the bits and bytes of an SMS message. For example, to specify the character encoding (e.g. 7-bit encoding and 16-bit Unicode encoding) of an SMS message, you need to know which bits in the message header should be modified and what value should be assigned.

  • Sending SMS messages with a mobile phone or GSM/GPRS modem has a drawback -- the SMS transmission speed is low. As your SMS messaging application becomes more popular, it has to handle a larger amount of SMS traffic and finally the mobile phone or GSM/GPRS modem will not be able to take the load. To obtain a high SMS transmission speed, a direct connection to an SMSC or SMS gateway of a wireless carrier or SMS service provider is needed. However, AT commands are not used for communicating with an SMS center or SMS gateway. This means your have to make a big change to your SMS messaging application in order to move from a wireless-modem-based solution to a SMSC-based solution.

In most cases, instead of writing your own code for interacting with the mobile phone or GSM/GPRS modem via AT commands, a better solution is to use a high-level SMS messaging API (Application programming interface) / SDK (Software development kit) / library. The API / SDK / library encapsulates the low-level details. So, an SMS application developer does not need to know AT commands and the composition of SMS messages in the bit-level. Some SMS messaging APIs / SDKs / libraries support SMSC protocols in addition to AT commands. To move from a wireless-modem-based SMS solution to a SMSC-based SMS solution, usually you just need to modify a configuration file / property file or make a few changes to your SMS messaging application's source code.

The links to some open source and free SMS messaging libraries can be found in the article "Free Libraries/Tools for Sending/Receiving SMS with a Computer".

Another way to hide the low-level AT command layer is to place an SMS gateway between the SMS messaging application and the mobile phone or GSM/GPRS modem. (This has been described in the section "What is an SMS Gateway?" earlier.) Simple protocols such as HTTP / HTTPS can then be used for sending SMS messages in the application. If an SMSC protocol (e.g. SMPP, CIMD, etc) is used for communicating with the SMS gateway instead of HTTP / HTTPS, an SMS messaging API / SDK / library can be very helpful to you since it encapsulates the SMSC protocol's details.

Usually a list of supported / unsupported mobile phones or wireless modems is provided on the web site of an SMS messaging API / SDK / library or an SMS gateway software package. Remember to check the list if you are going to use an SMS messaging API / SDK / library or an SMS gateway software package.

Major Drawback of Sending SMS Messages through a Mobile Phone or GSM/GPRS Modem -- Low SMS Sending Rate

Using a mobile phone or GSM/GPRS modem to send SMS messages has a major drawback, that is the SMS sending rate is too low. Only 6-10 SMS messages can be sent per minute (when the "SMS over GSM" mode is used). The performance is not affected by the connection between the computer and the mobile phone or GSM/GPRS modem (i.e. the SMS sending rate is about the same no matter the mobile phone or GSM/GPRS modem is connected to the computer through a serial cable, USB cable, Bluetooth link or infrared link) and does not depend on whether a mobile phone or GSM/GPRS modem is used (i.e. the SMS sending rate is about the same no matter a mobile phone or a GSM/GPRS modem is used). The determining factor for the SMS sending rate is the wireless network.

The 2nd Way: Sending SMS Messages from a Computer through a Connection to the SMSC or SMS Gateway of a Wireless Carrier or SMS Service Provider

The way for sending SMS messages from a computer through a mobile phone or GSM/GPRS modem has a major limitation, that is the SMS sending rate is too low. If you need a high SMS sending rate, obtaining a direct connection to the SMS center (SMSC) or SMS gateway of a wireless carrier is necessary. The connection may be made through the Internet, X.25 or dial-up. If you cannot get a direct connection to the SMSC or SMS gateway of a wireless carrier, another choice is to get a connection to the SMS gateway of an SMS service provider, which will forward SMS messages towards a suitable SMSC.

1. Difficulties in Getting a Direct Connection to the SMSC or SMS Gateway of a Wireless Carrier

It can be difficult for small businesses or individual application developers to obtain a direct connection to the SMSC or SMS gateway of a wireless carrier since a wireless carrier may only provide such service to those who have huge SMS traffic. Buying SMS messages in bulk means the total fee will be very high (although the fee per SMS message will be low).

Besides, the information about the service (for example, cost of the service, protocols supported, network coverage) is usually not stated clearly on a wireless carrier's web site. This is because the wireless carrier staff wants to know more about your SMS messaging application, such as its nature and traffic requirement, before offering a price and providing further information to you. To decide which wireless carrier's service plan is the best, you have to discuss with the sales staff of each wireless carriers. This is troublesome if you just want to send a small number of SMS messages. (Of course if you need to send a large amount of SMS messages, say one million SMS messages per month, negotiating with the wireless carrier staff for a more favorable agreement is a necessary step.)

A more convenient way to send SMS messages is to use the SMS connectivity service of an SMS service provider, which is described in the next section.

2. SMS Service Providers (SMS Gateway Providers, SMS Resellers, SMS Brokers)

There is a demand for SMS connectivity from applications that does not require the sending or receiving of large amount of SMS messages. One example is a remote monitoring system. If the remote monitoring system finds that a certain server is not responding, it will send an SMS alert to the system administrator's mobile phone. This remote monitoring system will have a very small amount of SMS traffic per month since the servers being monitored should be working fine most of the time.

Since a wireless carrier usually does not provide direct SMSC or SMS gateway access to users without a large amount of SMS traffic, some companies come out to fill the gap. These companies are called SMS service providers. There is no minimal purchase requirement or monthly minimum usage requirement for many SMS service providers.

SMS service providers are also known as SMS gateway providers, SMS resellers and SMS brokers because of the following reasons:

  • SMS gateway providers -- An SMS service provider provides an SMS gateway for its users to send SMS messages to. This SMS gateway will then route the SMS messages to another SMS gateway or SMSC.

  • SMS resellers and SMS brokers -- SMS service providers buy a large amount of SMS messages from a lot of wireless carriers at a low price per SMS message. They then sell the SMS messages at a price higher than the cost.

Unlike wireless carriers, many SMS service providers provide detail information about their SMS connectivity service on their web site. For example, you may find the cost of the service, network coverage, protocols supported, developers' guide, etc, on the web site. Thus, the service of different SMS service providers can be compared easily. If you are not happy with, say the price or network coverage of an SMS service provider, you can simply leave its web site and find another SMS service provider.

Another advantage of using the SMS connectivity services of SMS service providers is that their network coverage is very good. They work hard to cover as many wireless networks as possible so as to make their services attractive. Some SMS service providers can send SMS messages not only to GSM wireless networks, but also to CDMA and TDMA wireless networks.

It is easy to send SMS messages with an SMS service provider. Here are the typical steps:

  1. Register for an account on the SMS service provider's web site. (An SMS service provider may allow newly registered users to send a few free SMS messages for testing its service quality.)

  2. Log into the account.

  3. Buy a number of credits or SMS text messages online. Many SMS service providers support credit card payment and some also support PayPal.

  4. Send SMS messages using a protocol / interface (e.g. HTTP, email, FTP) supported by the SMS service provider.

SMS service providers can be divided into two categories depending on how they require you to pay for their SMS messaging service:

  • Credit-based -- You purchase a number of credits from the SMS service provider's web site. Sending one SMS message will cost you one or more credits, depending on the country you send the SMS message to. For example, sending an SMS text message to India might cost you one credit while sending an SMS text message to the US might cost you two credits.

  • SMS-based -- You purchase a number of SMS messages from the SMS service provider's web site. The cost per SMS message is the same for all destinations. For example, if you purchase ten SMS messages, you can send at most ten SMS messages no matter the destination is India or the US.

The cost per SMS message sent depends on which SMS service provider you choose and how many SMS messages you purchase. It starts at around US $0.06 to US $0.07 per SMS message. The more SMS messages you purchased, the lower the cost of sending one SMS message.

A comparison of some SMS service providers can be found in "SMS Gateway Providers Comparison Table". You may also want to have a look at the article "How to Choose an SMS Gateway Provider" to learn some of the things that you should consider when choosing an SMS gateway provider for your SMS application.

3. Sending SMS Messages Using a Protocol / Interface Supported by an SMSC or SMS Gateway

After setting up an account with a wireless carrier or an SMS service provider, you can start sending SMS messages using a protocol / interface supported by the SMSC or SMS gateway. To communicate with an SMSC, an SMSC protocol is required. Most of these SMSC protocols are proprietary to the company that developed the SMSC. One widely used SMSC protocol is SMPP (Short Message Peer to Peer). It was originally a proprietary SMSC protocol created by Logica (an SMSC vendor). Now SMPP is an open SMSC protocol whose development is controlled by a non-profit organization SMS Forum. The following table lists some of the SMSC protocols and the SMSC vendors who develop the protocols:


SMSC vendor

SMSC protocol

CMG (CMG and Logica have merged into LogicaCMG.)

EMI (External Machine Interface)

UCP (Universal Computer Protocol)

Logica (CMG and Logica have merged into LogicaCMG.)

(Now the SMS Forum is responsible for the development of SMPP.)

SMPP (Short Message Peer to Peer)

Nokia

CIMD (Computer Interface to Message Distribution)

SEMA Group (Now Airwide Solutions)

OIS (Open Interface Specification)

SMS2000


SMS gateways of SMS service providers and wireless carriers very often support one or more of the following protocols / interfaces: HTTP, HTTPS (HTTP + SSL encryption), XML over HTTP / HTTPS, SMTP (email to SMS), FTP. Some also support the SMPP protocol, which is usually used by advanced users. SMSC protocols other than SMPP are not commonly supported.

It is very easy to send SMS messages if you use a simple protocol like HTTP / HTTPS. Here is an example. To send an SMS message "It is easy to send text messages" to the mobile phone number 61234567, you submit an HTTP GET to the SMS gateway using an URL that looks something like this:


http://smsgateway.company123.com/cgi-bin/sendsms?account=account123&password=password123&destination=61234567&textmessage=It+is+easy+to+send+text+messages


In the above URL:

  • "smsgateway.company123.com" is the host name of the SMS gateway that the SMS text message should be sent to.

  • "sendsms" is the file name of the CGI program that will be executed on the SMS gateway.

  • "account=account123" is used to assign the value account123 to the account parameter. The account parameter specifies which account that the cost of the SMS text message should be deducted from.

  • "password=password123" is used to assign the value password123 to the password parameter. The password parameter specifies the password of the account.

  • "destination=61234567" is used to assign the value 61234567 to the destination parameter. The destination parameter specifies the recipient's mobile phone number.

  • "textmessage=It+is+easy+to+send+text+messages" is used to assign the value It is easy to send text messages to the textmessage parameter. The textmessage parameter specifies the SMS text message to be sent. There exists some "+" characters because the space character is a special character and it should be escaped if it appears in an URL. The escaped character of the space character is the "+" character.

After receiving your HTTP request, the SMS gateway will forward your SMS text message towards the recipient. The SMS gateway will then send back an HTTP response that contains a return value. The return value indicates whether there are any errors. For example, a certain SMS gateway may use the return value 0 to indicate that there is no error, the return value 1 to indicate the error "The account does not have enough credits", the return value 2 to indicate the error "The SMS message is too long", etc.

Note that the parameters that can be passed in an HTTP request and the return values varies between SMS gateways of different SMS service providers and wireless carriers. To send the same SMS message "It is easy to send text messages" to the same mobile phone number 61234567 but with a different SMS service provider, the URL to be used may become:


http://api.abccompany.com/cgi-bin/send?user=account123&passwd=password123&to=61234567&msg=It+is+easy+to+send+text+messages


Also, note that data transmitted over the Internet using the HTTP protocol is not secure. This means other people can read your account name and password you included in the above URL. To send data securely, you should use the HTTPS protocol instead of HTTP (i.e. change "http" at the beginning of the above URL to "https"), like this:


https://api.abccompany.com/cgi-bin/send?user=account123&passwd=password123&to=61234567&msg=It+is+easy+to+send+text+messages

Source Article : http://www.developershome.com/sms/