≡ Menu

Mengenal Sistem Operasi *BSD

Jim Geovedi, 24 Juni 2002

Ada banyak sekali tulisan-tulisan yang membahas tentang BSD, baik tulisan mengenai sejarah, system administrasi, sampai penggunaan BSD kepada end-user sebagai desktop.

Tulisan ini memperkenalkan BSD sebagai alternatif lain dari Linux untuk memenuhi kebutuhan akan UNIX-like operating system di Indonesia. Dalam tulisan ini pula,? dibahas mengenai beberapa hal yang membedakan antara Linux dan BSD, namun tidak memutuskan mana yang paling baik, karena untuk menentukan mana operating system yang paling baik digunakan adalah Anda sendiri.

Daftar Isi

  1. Sejarah
  2. Distribusi Varian BSD
  3. Model Pengembangan
  4. Integrasi System
  5. Software-software di BSD
  6. System Administrasi
  7. File System
  8. Lain-lain
  9. Kesimpulan

Sejarah

Hampir semua orang telah mendengar Linux saat ini. Namun apa itu BSD? BSD adalah singkatan dari Berkeley Software Distribution. BSD pertama kali dibangun dan dikembangkan oleh Computer System Research Group (CSRG) di University of California at Berkeley (UCB), BSD pertama kali keluar pada akhir 1977 sebagai paket tambahan dan patch dari AT&T UNIX version 6, yang mana waktu itu beroperasi pada mesin PDP-11 minicomputer.

BSD pada akhirnya banyak memberikan kontribusi berharga pada pengembangan UNIX secara umum. Ada banyak fitur yang pertama kali diperkenalkan oleh BSD dan beberapa diadopsi dari AT&T dan vendor-vendor lainnya.

BSD dibuat, dikembangkan, dan digunakan secara BEBAS sebagai perlawanan terhadap lisensi UNIX yang dimiliki oleh AT&T dan oleh karena itu BSD mempunyai lisensi tersendiri yang memungkinkan setiap orang bebas melakukan pengembangan, dan menggunakan source code BSD. Pada tahun 1993, 4.4BSD dirilis sebagai sebuah Operating System yang utuh. Untuk sejarah lengkap BSD di CSRG, mulai sejarah dari jaman kuda, motivasi orang-orang yang pertama kali mengerjakannya, sampai perseteruan lisensi dan hak cipta dengan AT&T, saya mereferensikan Anda untuk membaca tulisan yang dibuat oleh Kirk McKusick, “Twenty Years of Berkeley Unix“.

Saat ini, BSD tersedia secara bebas, dan memiliki fungsi utuh dari UNIX operating system.

Distribusi Varian BSD

Semenjak CSRG tidak lagi aktif, beberapa turunan 4.4BSD muncul, dan beberapa diantaranya menjadi produk komersial.

BSD/OS

Berkeley Software Design, Inc., didirikan oleh beberapa pendiri awal developer CSRG sebagai kelanjutan dari pengembangan BSD dalam sisi komersial. BSD/OS telah mendukung untuk banyak platform, seperti i386 dan sparc, yang biasanya dipasarkan dengan memasukkan beberapa applikasi Internet.

Pada tahun 2000, BSDI bergabung dengan Walnut Creek CDROM, sebuah perusahaan yang secara finansial mendukung juga OS FreeBSD. BSD/OS akan dilanjutkan sebagai sebuah produk yang terpisah, namun seperti yang diharapkan, BSD/OS dan FreeBSd source tree akan digabungkan.

DarwinOSDarwinOS adalah bagian penting open-source operating system baru Apple, Mac OS X. Darwin mengimplementasikan kepribadian 4.4BSD dan userland pada sebuah mikrokernel Mach, dengan FreeBSD sebagai referensi utama. Walaupun ditujukan pada platforn pps Apple, namun system ini juga sedang dikembangkan untuk platform i386.

Varian BSD lainnya yang juga merupakan turunan 4.4BSD, menggunakan lisensi distribusi BSD yang menyediakan source code secara bebas

FreeBSDFreeBSD mengoptimalkan penggunaan platform PC. FreeBSD menyediakan kemudahan installasi dan dukungan yang luas terhadap hardware PC. FreeBSD mendukung arsitektur i386 dan alpha, dan pengembangan FreeBSD pada beberapa platform juga telah dilakukan. FreeBSD juga digunakan pada server-server yang memiliki traffic dan kinerja yang cukup tinggi untuk service WWW dan FTP seperti www.yahoo.com dan ftp.cdrom.com.

NetBSDNetBSD memfokuskan pengembangan pada penyediaan operating system untuk banyak platforms, dari sebuah palmtop sampai server alpha yang besar. NetBSD berjalan pada hampir semua mesin dimana orang menginginkan UNIX sebagai Operating Systemnya.

OpenBSDOpenBSD memfokuskan pengembangan pada security dan cryptography. Proyek pengembangan ini terpisah dari proyek NetBSD pada tahun 1995 sebagai akibat perselisihpahaman antara Theo de Raadt dengan NetBSD core team lainnya. OpenBSD saat ini setidaknya telah mendukung lebih dari 10 platforms, dengan beberapa proses pengembangan lebih terstruktur. Tim OpenBSD juga telah menghasilkan sebuah applikasi OpenSSH, sebuah implementasi untuk memenuhi kebutuhan Secure Shell untuk pekerjaan secara remote.

Lalu, seberapa besar perbedaan FreeBSD, NetBSD, dan OpenBSD? Secara praktis, tidak banyak bedanya. Namun dari ketiganya justru berbeda jauh jika dibandingkan dengan distribusi Linux, yang mungkin bisa dipersempit dari sisi sudut pandang pengguna, dan sysadmin. Dan dari ketiga distribusi BSD tersebut terdapat sharing source code antar proyek dengan memfasilitasi lisensi yang sama.

Model Pengembangan

Sangat kontra dengan beberapa advokasi Linux, pengembangan BSD tidak mengikuti sebuah model katedral (piramid??). Secara hirarki terorganisir namun tidak tertutup. Terdapat tiga tingkatan dalam developer BSD, yaitu:

  1. Contributor adalah developer yang menulis code, patch, atau dokumentasi namun tidak memiliki hak untuk menulis atau membuat sebuah file dalam source tree. Jika pekerjaan yang mereka lakukan ingin dimasukkan, maka harus diperiksa terlebih dahulu oleh seorang commiter atau dengan persetujuan beberapa orang commiter.
  2. Commiter adalah developer yang memiliki hak menulis dan mengakses source tree, dalam lingkup CVS, memiliki hak commit. Secara tipikal, seorang commiter bekerja hanya pada bagian-bagian terpilih dari keseluruhan project.
  3. Core Team, membimbing secara keseluruhan arah dan tujuan proyek, dan membuat keputusan akhir dalam kasus perselisihpahaman antar developer mengenai source code atau hal-hal lainnya. (OpenBSD tidak mempunyai core team secara formal, namun Theo de Raadt betugas sebagai pemimpin proyek.)

Setiap orang dapat menjadi contributor, dengan mengirimkan patch, atau membenarkan kesalahan-tulis dalam sebuah halaman manual. Orang-orang yang mengkontribusikan banyak hal, atau berkompeten dalam sebuah area proyek akan dipromosikan menjadi commiter, hal ini ditujukan untuk menjagai commiter yang lain memeriksa terlalu banyak hal pada waktu yang sama.

Integrasi System

Kunci perbedaan antara BSD dan Linux yang dapat disimpulkan adalah integrasi, yang berarti sebuah proses dan hasil dari proses tersebut. Setiap distribusi BSD adalah sebuah proyek tunggal. Sedangkan distribusi Linux dengan kata lain adalah mengkombinasikan beberapa proyek, dan banyak diantaranya tidak spesifik pada proyek Linux itu sendiri. Ada sebuah proyek pembangunan kernel yang dipimpin oleh Linus Torvalds, ada proyek pembangunan dan pengembangan library C, namun ada juga proyek yang tidak berhubungan dengan Linux seperti GNU yang menyediakan berbagai variasi tool, dan lain-lain.Di BSD, para developer adalah sang integrator. Katakanlah seseorang ingin mengubah output, ps -ax, maka dia harus bertanggungjawab untuk menjaga semua script yang bergantung pada format output ps(1) yang akan diadaptasi. Dalam dunia Linux, system integrator yang menggabungkan banyak proyek yang berbeda-beda menjadi sebuah distribusi biasanya bukan developer dari proyek tersebut. Sebagai hasil dari system integrasi BSD sangat kecil, halaman-halaman manual semakin lengkap, program-program beroperasi lebih baik, dan ada banyak perubahaan yang lebih baik pada system.

Seringkali disebutkan perbedaan-perbedaan antara BSD dan Linux adalah hasi dari penyatuan BSD sebagai proyek tunggal. Sebuah base dari system BSD dimasukkan kedalam sebuah CVS tree, sehingga semua perubahan dapat terkontrol secara langsung, dan dari sana, sebuah source tree dapat diambil dan dikompilasikan dengan satu kali proses kerja. Hal ini yang dikenal sebagai proses make world, dari sebuah proses tunggal yang membangun ulang semua system.

Software-software di BSD

Sebagai implementasi kelengkapan sebuah distribusi, terdapat sebuah aturan dalam memfasilitasi installasi sebuah software kedalam distribusi BSD. Banyak software yang secara tipikal berkaitan erat dengan system Linux, namun ternyata tidak spesifik dibuat khusus untuk Linux, dapat dibangun pada system UNIX apapun, termasuk BSD. BSD memiliki ports dan packages yang diperkenalkan pertama kali di FreeBSD, yang kemudian diadaptasi oleh NetBSD dan OpenBSD. (NetBSD mencoba menghindari kerancuan istilah “port” karena dalam system NetBSD, porting adalah pekerjaan membuat atau memodifikasi system terhadap suatu arsitektur atau platform tertentu, NetBSD menyebutnya sebagai “packages” dan “pre-compiled packages”).Sebuah package adalah software yang telah dicompile dan siap dijalankan, kira-kira sepadan dengan package yang digunakan oleh distribusi Linux (sebagai contoh RPM). Secara teknis, package tersebut dibundel manjadi sebuah kompresi tarball (.tgz), yang menyertakan file-file yang akan diinstall, ditambah dengan beberapa informasi penting lainnya berkenaan dengan software yang diinstall tersebut. Sebagai contoh dalam sebuah package OpenBSD bash-2.05a.tgz:

Package diinstall kedalam ${PREFIX} yang sudah terkonfigurasikan, dan secara default adalah /usr/local,/usr/X11R6, atau pada system NetBSD /usr/pkg. Installasi didaftarkan pada sebuah direktori database /var/db/package/nama_package. Pengaturan package dilakukan dengan berbagai tools pkg_*, seperti pkg_add (1), pkg_delete(1), dan pkg_info(1).Sebuah port adalah kerangka kerja untuk membuat sebuah package. Secara fungsional, sebuah port sama dengan SPRM, namun bagaimanapun, port tidak menyertakan source tarball dari software. Biasanya kumpulan port disimpan pada direktory /usr/port/kategori, atau pada NetBSD disimpan pada /usr/pkgsrc. Sebuah port terdiri dari sebuah directory tree dengan beberapa file.

BSD tidak membuat sebuah tool seperti rpm(1) untuk membangun sebuah port, melainkan dengan sebuah infrastuktur berbasis make(1). Sebuah Makefile adalah kunci utama sebuah port, ada sangat banyak variable dalam sebuah makefile yang memungkinkan melakukan tindakan build dengan lebih cermat dan pada umumnya terdapat 2000 sampai 3000 baris dalam sebuah makefile, oleh karena itu dalam lingkungan BSD, makefile tersebut disertakan dalam file bsd.port.mk, sedangkan Makefile yang ada pada port hanya berisi variable yang ingin disertakan menjadi sebuah package.

proses build dan installasi sebuah port biasanya adalah:

Perintah tersebut akan melakukan proses:

  • memeriksa apakah distribusi source berupa tarball tersedia dalam system, dan jika tidak diketemukan akan mengambil dari Internet.
  • memeriksa checksum file source tersebut.
  • mengekstrak source kedalam sebuah direktory kerja.
  • melakukan patch jika tersedia.
  • melakukan patch yang dibutuhkan untuk mengadaptasikan software ke BSD
  • menjalankan proses configure.
  • meng-compile program.
  • menginstall program.
  • membersihkan direktory kerja.

System Administrasi

Seperti operating system lainnya, BSD memiliki gaya/style tersendiri. BSD tidak menyediakan sebuah tool administrasi seperti SMIT pada AIX, SAM pada HP-UX, atau YaST pada SuSE. Konfigurasi dari system ditanggani dengan mengedit file teks dalam direktori /etc, dan ada banyak konfigurasi pada saat startup dikumpulkan pada sebuah file /etc/rc.conf seperti:

  • console: font, keymap, screensaver
  • network: interface, firewall, NAT
  • daemon: sendmail, lpd, ntp

Walaupun BSD system menyertakan sebuah kernel default, namun sangat disarankan untuk membuat sebuah custom kernel dengan tujuan membuat perampingan pada system, menggunakan hanya driver yang benar-benar dibutuhkan, mempercepat waktu loading, dan menghemat memory. Berikut adalah cara untuk membuat kernel custom:

  • membuat atau mengedit konfigurasi kernel berdasarkan kernel GENERIC di /sys/arch/arch/conf/NAMA_KERNEL (FreeBSD: /sys/arch/conf)
  • jalankan config(8), dan make(1).

BSD menyediakan sebuah cara professional untuk melakukan report dan melacak permasalahan yang ada, serta mengumpulkan feedback dari pengguna. Dengan menggunakan send-pr(1) (OpenBSD: sendbug) yang akan memberikan penjelasan detail permasalahan yang dihadapi, dan mengisi formulir yang dapat dikirimkan via e-mail pada GNATS bug tracking system, mengumpulkannya dalam sebuah database, dan kemudian akan ada developer yang menangani masalah yang dihadapi.

File System

BSD memiliki format partisi tersendiri, dan BSD tidak menggunakan partisi IBM/Microsoft seperti Linux, sehingga harddisk harus diset dengan format BSD. FreeBSD menyebut bagian ini dengan “slice”, dan dalam slice tersebut partisi BSD dibuat. Secara umum, a adalah partisi boot, b adalah partisi swap, dan c adalah partisi bayangan yang memuat sebuah bagian dari disk.BSD memilih partisi asli untuk disk adalah FFS (Berkeley Fast File System), yang mendukung filesystem sampai dengan 16TB, tergantung dengan sejumlah parameter, file dapat menjadi beberapa terabytes. 64-bit file offset, seperti contoh file-file yang lebih besar dari 2GB, dalam platform 32-bit yang didukung 4.4BSD. BSD FFS dan Linux ext2fs pada umumnya serupa, tidak heran mengingat konsep ext2fs didesain dengan ffs sebagai pertimbangan. FFS diperkenalkan sebagai implementasi modern UNIX file system, yang lebih memberikan banyak pilihan dimana setting sebuah file dapat dihapus, tidak dapat diedit, dan lain-lain. Beberapa pilihan tersebut juga tersedia pada Linux ext2fs.

Lain-lain

Dalam banyak FAQ (frequently asked questions) terdapat pertanyaan yang sering diutarakan yaitu, dimana dokumentasi mengenai BSD dapat ditemukan. Pertanyaan ini sangat mudah ditemukan jawabannya dan berikut menjawab pertanyaan tersebut:

  • BSD menyertakan halaman-halaman manual dalam setiap distribusinya.
  • Setiap distribusi BSD mempunyai sebuah FAQ atau beberapa, dalam website resminya.
  • FreeBSD documentation project telah menghasilkan FreeBSD Handbook, sebuah tutorial dan referensi yang juga dapat diterapkan pada NetBSD dan OpenBSD.
  • Sebuah tulisan. The Design and Implementation of the 4.4BSD Operating System, karangan Marshall Kirk McKusick, dapat dijadikan patokan untuk melakukan pengembangan atau pemahaman mengenai system BSD secara lebih lanjut.
  • Sebuah tulisan lain mengenai BSD, The Complete FreeBSD, karangan Greg Lehey, juga mengangkat masalah serupa.
  • Search engine juga dapat membantu mencari jawaban setiap pertanyaan yang berkaitan dengan BSD.
  • Arsip mailing-list yang berkaitan dengan distribusi BSD secara lebih spesifik yang dapat dicari tahu pada website resminya.

Kesimpulan

BSD adalah implementasi langsung dari sebuah UNIX operating system, dimana mungkin ada banyak perbedaan dengan Linux, namun perlu ditegaskan kembali bahwa perbedaan tersebut justru bukan untuk membandingkan mana yang terbaik atau mana yang terburuk, karena setiap distribusi baik BSD maupun Linux mempunyai tujuannya masing-masing. Tulisan ini juga tidak dimaksudkan untuk membuka holy-war operating system, karena tulisan ini dibuat untuk membahas beberapa perbedaan operating system dengan basis BSD, dan Linux sehingga diharapkan setelah Anda membaca tulisan ini, setidaknya ada pilihan baru yaitu BSD ketika Anda hendak memilih operating system, dan setelah mencoba, Anda sendiri yang akan menentukan operating system mana yang cocok untuk Anda.

{ 2 comments }

GSM Modem Introduction

What is a GSM Modem?

A GSM modem is a device that behaves like an ordinary telephone modem. The difference is that a telephone modem sends data through a phone line while a GSM modem sends data through radio wave. A GSM modem can accept the extended AT commands defined in the GSM standard. With the extended AT commands, you can do things like sending SMS messages, checking the delivery status, etc, from your PC. Besides, you can use a GSM modem to connect to the Internet just like an ordinary telephone modem. For example, a laptop user can connect to the Internet through a GSM modem, say, on a bus.

A GSM modem can be an external device or a PC Card installed on a laptop.

Which is Better: Mobile Phone or GSM Modem?

In general, a GSM modem is recommended for SMS applications. This is because some mobile phones have certain limitations. For example, you may not be able to use some mobile phone models to receive concatenated SMS correctly. A concatenated SMS is a message that can contain more than 160 characters (A normal SMS can contain at most 160 characters). A concatenated SMS is sent as multiple SMS messages. When these SMS messages reach the destination, the mobile phone will try to combine them back to one message.

In addition, you may not be able to receive MMS correctly with some mobile phone models, since they handle the MMS message automatically instead of forwarding the MMS to the PC.

Besides the above issues, mobile phones and GSM modems are more or less the same. Actually, you can consider an AT command enabled mobile phone as “GSM modem + keypad + display”.

There is not much difference between the two in terms of transmission rate, since the determining factor for the SMS sending rate is the wireless network.

Novice developers can use their mobile phones to do some tests, since this will not cost extra money if you already have a mobile phone. A GSM modem will be a better choice in the long term. As you know, manufacturers do not expect you to switch on the mobile phone all the time, nor do they expect you to charge it by the adapter 24-hour a day.

Which GSM Modem Should I Buy?

That depends very much on your budget. You should choose a GSM modem that comes with detail and well-written guides and manuals. This is very important to a developer. Good guides and manuals can always save you a lot of time during development.

You should visit the manufacturers’ website to find a GSM modem that suit your application most. Some GSM modem manufacturers are listed below for your reference (in alphabetical order).

Nokia
Example models: Nokia 12, Nokia 30, Nokia D211 (PC Card).

Siemens
Example models: Wireless module TC45, TC35i, MC35i.

Sierra Wireless
Example models: the Aircard series (PC Card).

Sony Ericsson
Example models: GR48, GM48.

Wavecom
Example models: Fastrack M1306B, Integra M2106.

Original Source : http://www.developershome.com/sms/GSMModemIntro.asp

{ 0 comments }

How to Receive SMS Using a Computer?

Overview

Basically, there are 3 ways to receive SMS messages using your computer.

  1. Connect a mobile phone or GSM modem to a PC, and then program the PC to send AT commands to instruct the mobile phone or GSM modem to receive SMS. You can also use some third-party software or libraries/SDKs.
  2. Receive SMS messages using the service of an SMS gateway provider.
  3. Get access to the SMS center (SMSC) or SMS gateway of a mobile network operator through a leased line or the Internet, and receive SMS using a specific protocol supported by the SMSC or SMS gateway.

Although the techniques used for sending and receiving SMS messages are similar, there exists quite a number of differences. You may want to take a look at the article “How to Send SMS from a Computer?” before continuing.

The 1st Way: Receive SMS Using a PC With a Mobile Phone or GSM Modem

Receiving SMS using this way has a major advantage over the other 2 ways – network operators do not charge any fee for receiving incoming SMS messages with their SIM card. Although the amount of SMS traffic that a mobile phone/GSM modem can handle is very limited, you can overcome this by load balancing several mobile phones/GSM modems. Each mobile phone/GSM modem will have its own SIM card and phone number.

In terms of programming, sending and receiving SMS are similar. Basically, what you need to do is to send instructions (in the form of AT commands) to the mobile phone/GSM modem. You can take a look at the article “Free Libraries/Tools for Sending/Receiving SMS with a Computer” if you do not want to do any tedious AT-command programming yourself. You can also use some commercial software/libraries/SDKs for such purposes. Some of these software/libraries/SDKs can act as a layer between your SMS application and the physical layer, so that you can receive SMS using the same set of APIs no matter you are receiving SMS through a mobile phone/GSM modem, SMS gateway or SMSC, provided that the software/library/SDK supports a protocol used by the SMS gateway or SMSC.

The 2nd Way: Receive SMS Using the Service of an SMS Gateway Provider

An SMS gateway provider generally supports two kinds of solution.

  1. Host your SIM card at the SMS gateway provider’s site. You will have your own incoming phone number. All SMS messages received will be forwarded to your system using a specific protocol supported by the SMS gateway provider.
  2. Use an incoming phone number shared by several companies or individuals. The SMS gateway provider will provide you a phone number that is shared by its customers. You have to specify one or more keywords to associate with your application. If an SMS is received and its content begins with the keyword specified by you, the SMS gateway will forward the SMS to your system using a specific protocol supported by the SMS gateway provider.

Some SMS gateway providers can provide customized 2-way SMS solution for your application. You have to contact their staff to discuss the details.

Whenever an SMS is received, the SMS gateway will notify your SMS application through an interface such as HTTP/HTTPS, FTP, SMPP, email, etc. Let’s take HTTP as an example. You provide the SMS gateway an URL, say http://yourserver.com/incomingsms. Every time an SMS message is received, the SMS gateway will send a HTTP post/get request to the URL with the contents of the SMS as the parameters. For example, http://yourserver.com/incomingsms?sender=12345678&text=xxxx, where 12345678 is the sender’s mobile phone number and xxxx is the content of the SMS. Your server can handle the HTTP post/get in any web language like CGI, Perl, PHP, ASP, JSP, Java servlet, etc.

To host your SIM card at the SMS gateway provider’s site, you need to mail your SIM card to the SMS gateway provider. If you end the service, the SMS gateway provider will mail it back to you. Your SIM card will be put into the SMS gateway provider’s GSM modem. So, this approach has similar weakness as the approach of receiving SMS using your own mobile phone/GSM modem – it cannot handle very high SMS traffic. The advantage of this approach is that you do not need to buy, set up, and manage the necessary equipment. Also, you do not need to write any program to control the receiving of SMS from a GSM modem, which means you can concentrate on the business logic of your SMS application. The SMS gateway provider may provide you a detail log of the incoming SMS. You SIM card needs to support foreign network roaming if the SMS gateway provider is located overseas.

To provide you shared incoming phone number service, the SMS gateway provider opens a phone number at a network operator. Since the phone number is provided by the network operator directly (not through SIM card), the SMS gateway provider is able to receive a high SMS traffic with this phone number. If the number of people sharing the phone number is small, you can enjoy a high performance. Performance drops as the number of people sharing the phone line increases. Besides, there is overhead in processing the incoming SMS by the SMS gateway provider’s system. For example, the system needs to parse an incoming SMS to find out the keyword and then search the database to find out who the SMS should be forwarded to, etc. This approach has similar advantages as hosting your SIM card at the SMS gateway provider’s site. You do not need to buy, set up and manage any equipment and write any program for receiving SMS. The SMS gateway provider may provide you a log report feature.

Hosting your SIM card by an SMS gateway provider generally involves an one-time setup fee and a monthly hosting fee. For shared phone number service, the SMS gateway provider will charge a monthly subscription fee or a per-SMS fee. Some SMS gateway providers do not state the price on their website, which means you have to contact their staff directly.

The 3rd Way: Get Access to the SMSC or SMS Gateway of a Mobile Network Operator through a Leased Line or the Internet

This way is for SMS applications that have a high incoming traffic. This can be further divided into 2 scenarios.

  1. Sign an agreement with a network operator to get access to its SMSC. Then use an SMS gateway software (e.g. Kannel) to receive SMS. The network operator may only allow a leased line connection to access its SMSC for security reasons.
  2. Receive SMS using an interface supported by the network operator.

For the first scenario, you have to discuss the details with the network operator’s staff. As you can imagine, signing an agreement with a network operator is not an inexpensive and easy solution, and network operators will not entertain you if you cannot bring them a big profit.

The second scenario is more common. Generally, a phone number is specified to your SMS application for receiving SMS messages. Whenever an SMS is received, the network operator will notify your SMS application through an interface such as HTTP/HTTPS, FTP, SMPP, email, etc. This is similar to what an SMS gateway provider does. We have talked about this before but we will mention it here once again for your convenience. Take HTTP as an example. You define an URL, say http://yourserver.com/incomingsms. Every time an SMS message is received, the SMS gateway will send a HTTP post/get request to the URL with the contents of the SMS as the parameters. For example, http://yourserver.com/incomingsms?sender=12345678&text=xxxx, where 12345678 is the sender’s mobile phone number and xxxx is the content of the SMS. Your server can handle the HTTP post/get in any web language like CGI, Perl, PHP, ASP, JSP, Java servlet, etc.

Using such incoming SMS service of a mobile network operator generally involves an one-time setup fee. The mobile network operator will charge you a monthly subscription fee or a per-SMS fee. To know the exact cost of the service, you have to discuss it with the mobile network operator’s staff.

Original Source : http://www.developershome.com/sms/howToReceiveSMSUsingPC.asp

{ 5 comments }

How to Send SMS from a Computer?

Oveview

This is a very frequently asked question from developers. Nowadays, almost every one has a mobile phone. Applications for mobile phone users are very keen. Several technologies are available for developing mobile phone applications: SMS, WAP, mobile Java. Among the 3, SMS is the most widely supported technology by handsets. You can send and receive SMS on many old handset models. On the other hand, you can only find WAP and mobile Java on more recent handsets. SMS is the technology for you if you want to support the largest number of handsets.

There are 2 ways to send SMS from a PC:

1. Connect a mobile phone or GSM modem to a PC, and then program the PC to send AT commands to instruct the mobile phone or GSM modem to send SMS. You can also use some third-party software or libraries/SDKs.

2. Get access to an SMS center (SMSC) or SMS gateway through a leased line or the Internet, and send SMS using a specific protocol supported by the SMSC or SMS gateway.

The 1st Way: Send SMS from a PC Using Mobile Phone or GSM Modem

The first method is suitable when the SMS traffic is low. If you want to use a mobile phone, you should notice that some models cannot do such kind of application (See more here). A program is required to interact with the mobile phone/GSM modem to send text/binary SMS. You can write the program in any of the popular languages, such as Visual Basic, Visual C++, Java, etc. The program should make use of the AT commands. You can write the program yourself (this would be quite interesting) or you can use some free or commercial software/libraries/SDKs if you do not want to do AT-programming yourself. Some of these software/libraries/SDKs can act as a layer between your application and the physical layer, so that you can send SMS using the same set of APIs no matter you are sending SMS through a mobile phone/GSM modem, SMS gateway or SMSC, provided that the software/library/SDK supports a protocol used by the SMS gateway or SMSC.

The HyperTerminal program in MS Windows can also be used to send AT commands (See more here).

If you want to program yourself, you may want to visit the website of your handset’s manufacturer. You may find the documentation of the AT commands and other related guides there. If you are going to use a library, visit the library’s website for further information.

There is not much difference between using a mobile phone and using a GSM modem, although some mobile phone models have certain limitations. If you are serious about your application, a GSM modem is recommended (See more here). A mobile phone/GSM modem can be connected to your PC through the serial port, USB, infrared port, etc. Of course, a SIM card from a valid operator should be put in the mobile phone/GSM modem.

If you are not developing an SMS application and just want to send SMS from your PC, you can make use of some ready-to-use software. One such software is available from Microsoft. You can download it free of charge from the link http://www.microsoft.com/globaldev/tools/smsSender.mspx. Mobile manufacturers may also provide such kind of software for sending SMS. You may want to take a look at their website.

How can I know whether my mobile phone can be used to send/receive SMS with my PC?

First of all, your GSM phone must provide some way to connect to the PC, e.g. through a serial cable, an USB cable, infrared, or bluetooth. Secondly, your phone should be able to accept the extended AT commands. You can check the manual of your mobile phone for this information. You can also test your mobile phone with HyperTerminal (See more here).

If you are going to use a library, remember to check the list of supported mobile phones/GSM modems from the library’s website.

The 2nd Way: Send SMS from a PC through an SMS Center/SMS Gateway, Using the Internet or Leased Line

If you want to run an SMS business, the above method will definitely not be able to take the load. You should get access to an SMS center (SMSC) or SMS gateway. This can be further divided into 2 scenarios.

* Sign an agreement with a network operator to get access to its SMSC. Then use an SMS gateway software (e.g. Kannel) to send SMS. The network operator may only allow access to its SMSC through a leased line connection for security reasons.

* Send SMS using an interface supported by the network operator, or an SMS gateway provider. SMS gateway providers are companies specialized in SMS sending services. Unlike ordinary mobile network operators, these SMS gateway providers do not provide mobile phone services.

The first scenario is suitable for big businesses and when the SMS traffic is huge. Signing an agreement with a network operator is not an inexpensive and easy solution. This is of course not suitable for small businesses or individual developers. We will concentrate on the second scenario for the rest of this article. For the first scenario, you have to contact the mobile network operator for the details.

Basically, in order to send SMS with the second scenario, you have to know what interface/protocol the network operator or SMS gateway provider supported. Common protocols supported by SMS gateways include HTTP/HTTPS, SMTP (the protocol used by email), FTP, XML, etc. The SMS gateway staff will also provide you the set of commands they use under a certain protocol.

If you are not a developer and you just want to send SMS with your PC, the solution is even simplier. Some SMS gateway providers (like Clickatell) will offer a software for sending SMS with your PC free of charge. You just pay for the cost of the SMS. The software normally contains features like phone book management, group management, bulk SMS to multiple recipients or groups, etc.

Many mobile network operators provide SMS gateway services (although some do not). Normally, if a mobile network operator provide SMS gateway services, you can find an overview about them on the mobile network operator’s website. However, you probably will not be able to find any information about the cost of the SMS gateway service, the protocols supported, the documentation of the commands to use under a certain protocol, etc, from its website. This is because network operators want to know about your SMS application’s nature, traffic requirement, etc, before offering a price to you. If that’s the case, you will then need to contact the network operator’s staff for further information.

A more convenient way is to use the service provided by SMS gateway providers. Information like cost of service, network coverage, protocols supported, documentation of the API used, can very often be found on the SMS gateway providers’ website.Many new SMS developers have the misconception that sending SMS through an SMS gateway are only for big businesses or for those who have a very large volume of SMS traffic, and that it is very difficult to use. Because of such misconception, they employ a mobile phone/GSM modem solution for their SMS application.

In fact, it is very easy to use the service of an SMS gateway provider if you choose a simple protocol like HTTP/HTTPS. The cost per SMS sent through an SMS gateway provider can be as low as US$ 0.055 (or even lower. It depends on which SMS gateway provider you choose and the number of SMS you purchased). There is no minimal purchase requirement for many SMS gateway providers. Hence, you can use the service of an SMS gateway provider even if your SMS traffic is not high.

To use such kind of SMS gateways, usually you will register for an account at the SMS gateway provider’s website and buy a number of credits on its website. Sending an SMS will cost 1 or more credits, depending on the country you send to. After buying credits, you can immediately send SMS through the provider’s SMS gateway to all over the world using protocols like HTTP/HTTPS, SMTP, FTP, XML, etc. Some SMS gateways are non-credit-based, which means the cost per SMS is the same for sending to all countries around the world.

Let me show you how easy it is to send an SMS message through an SMS gateway, using a simple protocol like HTTP. To send an SMS message “Hello” to phone number 12345678, you will give a http get/post request in your program, something like

http://www.xxgateway.com/sendsms?account=myAccount&passwd=myPasswd&to=12345678&text=Hello,

where “myAccount” and “myPasswd” are the name and password of the account you opened at the SMS gateway provider’s website. If error occurs, a string “error” will be returned. Otherwise, a string “success” will be returned. If the delivery of the SMS is successful, credits will be deducted from your account “myAccount”.

This is very easy, right? You can always type the above http:// line in your web browser’s “Address” text box and press the ENTER key, and you will get the same result. Since the command is gateway-specific, the actual command to use and the return values will be somewhat different from the above example. You have to check the SMS gateway provider’s API documentation for details.

Many SMS gateway providers also provide 2-way SMS service. Detail pricing and network coverage information may be found on the SMS gateway providers’ website. You can compare different SMS gateway providers and choose the one that best suit your needs and budget. You can have a look at the article How to choose an SMS gateway provider?. A comparison of some SMS gateway providers can be found at here.

Original Source : http://www.developershome.com/sms/howToSendSMSFromPC.asp

{ 17 comments }

HyperTerminal… What’s that?

HyperTerminal is a small program that comes with Microsoft Windows. You can use it to send AT commands to your mobile phone or GSM modem. It can be found at “Start -> Programs -> Accessories -> Communications -> HyperTerminal”. If you cannot find it, then probably you have not installed it. Go to “Control Panel -> Add/Remove Programs” to install it.

Before you start programming your SMS application, you may want to check if your mobile phone, GSM modem, and SIM card are working properly first. The MS HyperTerminal is a handy tool when it comes to testing your GSM devices. It is a good idea to test your GSM devices beforehand. When a problem occurs, it will be difficult to tell whether the problem is caused by your program or by any misconfiguration of the mobile phone/GSM modem. Sometimes a problem is simply caused by the SIM card. In one case, a developer found that his SMS application could not send SMS messages. He checked his SMS application again and again for a long time, but later found that everything was actually OK after replacing the SIM card with another one.

For Linux users, minicom can be used instead of HyperTerminal.

The Procedure for Sending AT Commands Using MS HyperTerminal

  1. Attach a mobile phone/GSM modem to a COM port. The mobile phone/GSM modem should have a valid SIM card in it. You can obtain the SIM card by subscribing to the service of a network operator. To use infrared for communication, you have to map the infrared port to a COM port. Typically, you will use the COM4 port for such purpose.
  2. Run the MS HyperTerminal. Enter any name and choose any icon you like for the connection.
  3. Choose the COM port that your mobile phone/GSM modem is connecting to. For example, choose “Direct to Com1” if the device is attached to the COM1 port. Click the “OK” button.
  4. The Properties dialog box comes out. Enter the correct settings for your mobile phone/GSM modem. If you do not know what to set, you can refer to the GSM phone/modem’s manual, or you can try using the default values. Click the “Restore Defaults” button for using the default values. For a typical GSM phone, use 19200 as the bits per second. Click the “OK” button.
  5. Now go to “File -> Properties”, the Properties dialog box will pop up. Click the “Settings” tab in the dialog box. Click the “ASCII Setup…” button. Check “Send line ends with line feeds” and “Append line feeds to incoming line ends”. Click the two “OK” buttons to go back to the main window.
  6. Type “AT” in the main window. A response “OK” should be returned. Type “AT+CPIN?” and a response “+CPIN: READY” should be returned. “AT+CPIN?” means query for the PIN number. “+CPIN: READY” means no PIN is needed for the SIM card. If your SIM card requires a PIN number, you should type the command “AT+CPIN=” to set the PIN so that the SIM card can work properly. You may need to check the settings you entered in the previous steps if you cannot get these responses.
  7. If you get the responses mentioned above, your mobile phone/GSM modem is working properly. You can start typing your own AT commands to instruct the mobile phone or GSM modem.

origina source : http://www.developershome.com/sms/howToUseHyperTerminal.asp

{ 1 comment }

SLANK – Tong Kosong

Sedikit ngerti ngaku udah paham

Kerja sedikit maunya kelihatan

Otak masih kaya ‘TK,

Koq ngakunya Sarjana

Ngomong-ngomongin orang

Kaya udah jagoan…
Tonk kosong nyaring bunyinya

Klentang-klentong kosong banyak bicara

Oceh sana-sini ngak ada isi

Otak udang ngomongnya sembarang
Hak manusia ingin bicara

Hak manusia ingin bernyanyi

Kalau sumbang janganlah didengarkan

Kalau merdu ikutlah bernyanyi
Jangan ngelarang-larang

Jangan banyak komentar

Apalagi menghina
Terserah mereka kalian atau saya

Asal nggak ngelanggar hukum

biarkan saja

Tonk-tonk kosong mending pada diam

Biar dunia tentukan pilihan
Yang mana yang benar ….

Yang mana yang baik …

Dari pada elo jadi ….

——————————————————————————–
Lagu &Lirik : Bimbim &Kaka

Tahun’92

…… Tglnya lupa !

{ 0 comments }