Ceritanya begini. Ada 2 komputer nganggur di kantor. Spek biasa aja, bukan server yang tangguh atau desktop yang lemah, juga bukan embedded. Selain itu ada juga 1 unit USRP dipinjamkan oleh kang Onno W. Purbo. Yang juga tersedia saat itu adalah koneksi Internet lumayan cepat dan LAN.
Karena tertarik bagaimana caranya mengoperasikan OpenBTS maka dimulailah proses browsing dan baca-baca sehingga akhirnya diperoleh informasi penting, bagi saya, yang kemudian memberikan macam-macam ide, yaitu: OpenBTS adalah aplikasi biasa yang dilengkapi SIP stack.
Maksud dari “aplikasi biasa” adalah kompilasi OpenBTS biasa-biasa saja, proses download, configure, make, make install seperti layaknya aplikasi lain di Linux. Sedangkan maksud dari “dilengkapi SIP stack” adalah bahwa didalam OpenBTS sudah terdapat fungsi-fungsi untuk beroperasi dengan protokol SIP.
Topologi sederhana OpenBTS adalah sebagai berikut:
GSM network —– OpenBTS —– SIP network
Bisa dibilang OpenBTS berperan sebagai gateway GSM-to-SIP dan sebaliknya.
Begini topologi yang lebih detil:
GSM network — USRP — OpenBTS — SIP server — SIP network
Perangkat USRP, Universal Software Radio Peripheral, yang dikendalikan oleh OpenBTS setelah beroperasi akan menjadi sebuah BTS, Base Transceiver Station, buatan sendiri. BTS buatan sendiri ini mempunyai MNC dan MCC seperti layaknya BTS yang dibangun oleh operator-operator GSM. Ponsel GSM 200 ribu rupiah kita yang TIDAK memiliki akses Internet via GPRS atau WiFi pun dapat memilih MNC dan MCC dari BTS buatan sendiri itu dan menjadi bagian dari GSM network buatan sendiri.
Cara memilih BTS buatan sendiri ini dari ponsel relatif mudah. Dari ponsel buka menu setting lalu ke menu yang berkaitan dengan network atau mobile network lalu lakukan pencarian manual. Pilih MNC dan MCC dari BTS buatan sendiri ini setelah pencarian selesai dan ditemukan.
Disisi lain, hubungan OpenBTS dengan SIP server lalu SIP network adalah VoIP, Voice over Internet Protocol.
Setiap ada panggilan dari GSM network (berarti dari ponsel yang terhubung dengan BTS buatan sendiri ini) maka OpenBTS akan meneruskannya ke SIP server dalam bentuk pesan SIP INVITE. Begitu juga sebaliknya panggilan dari SIP network (misal dari IP Phone atau SIP Softphone) akan diteruskan ke OpenBTS oleh SIP server dalam bentuk pesan SIP INVITE.
Bagaimana dengan panggilan dari GSM network ke GSM network (maksudnya dari ponsel ke ponsel) ?
Begini. OpenBTS tidak memiliki data dialplan atau penomoran. Yang dikenali oleh OpenBTS adalah IMSI, International Mobile Subscribe Identity, yaitu nomor unik yang terprogram dalam SIM card. Setiap ponsel yang terhubung dengan OpenBTS maka IMSI nya akan dicatat oleh OpenBTS, dan apabila ponsel tersebut melakukan panggilan maka panggilan diteruskan ke SIP server dengan menyertakan nomor IMSI sebagai asal panggilan dan nomor telepon tujuan yang dipanggil oleh ponsel ke dalam SIP INVITE nya.
Selanjutnya SIP server akan menerima SIP INVITE dan memeriksa nomor telepon tujuan dan melakukan verifikasi asal panggilan. Apabila ternyata nomor telepon tujuan adalah nomor ponsel yang lain dengan IMSI yang lain dan terdaftar di OpenBTS, maka SIP server akan meneruskan ke OpenBTS berupa SIP INVITE dengan nomor tujuan adalah IMSI ponsel tujuan.
Ringkasan penjelasan:
- OpenBTS hanya menyimpan IMSI, mapping antara ponsel dengan IMSI dan data-data terkait GSM lainnya
- SIP server hanya menyimpan dialplan atau penomoran, mapping antara IMSI dengan nomor telepon
- Setiap panggilan dari GSM network akan diteruskan ke SIP server untuk dilakukan penelusuran nomor telepon tujuan dalam dialplan yang dimiliki oleh SIP server
- Artinya setiap ada ponsel baru yang terhubung ke OpenBTS maka IMSI nya akan dicatat oleh OpenBTS dan kita perlu tambahkan peta antara IMSI yang tercatat tadi dengan nomor telepon yang diinginkan di SIP server
- Artinya ponsel tidak tahu nomor telepon nya adalah 2201 (sebagai contoh saja), melainkan hanya IMSI nya saja
- Artinya nomor telepon 2201 tersebut dan IMSI ponsel tersebut harus didaftarkan di SIP server dan dibuatkan dialplan nya
Cukup dulu. Bagian II menyusul setelah tanggal 15 Juni (ketemu pak Onno dulu minjem USRP lagi untuk memastikan 1 2 hal seputar SMS).
anton
terima kasih, mas. ditunggu seri selanjutnya.
Jadi pengen ikutan praktik 🙂
kalo N210 sudah datang, kita oprek bareng2, sampai tuntas 🙂 kemaren masih ada masalah dengan SMS (tanpa smqueue), tapi ada pencerahan di milis openbts-discuss pagi ini.