Pengertian SIP Session Initiation Protocol (SIP)
SIP adalah
suatu signalling protokol pada layer aplikasi yang berfungsi untuk
membangun, memodifikasi, dan mengakhiri suatu sesi multimedia yang
melibatkan satu atau beberapa pengguna. Sesi multimedia adalah
pertukaran data antar pengguna yang meliputi suara, video, atau text.
SIP tidak menyediakan layanan secara langsung, tetapi menyediakan
fondasi yang dapat digunakan oleh protokol aplikasi lainnya untuk
memberikan layanan yang lebih lengkap bagi pengguna, misalnya dengan RTP
( Real Time Tr ansport Protocol ) untuk transfer data secara real -
time , dengan SDP ( Session Description Protocol ) untuk mendeskripsikan
sesi multimedia, dengan MEGACO ( Media Gateway Control Protocol ) untuk
komunikasi dengan PSTN (Public Switch Telephone Network). Meskipun
demikian, fungsi dan operasi dasar SIP tidak tergantung pada protokol
tersebut. SIP juga tidak tergantung pada protokol layer transport yang
digunakan.
Instalasi Server Softswitch berbasis SIP
Bagi mereka yang ingin
membuat sendiri sentral telepon Internet berbasis Session Initiation
Protocol (SIP) seperti yang di kembangkan oleh VoIP Rakyat di
http://www.voiprakyat.or.id, maka berikut ini adalah beberapa tip
singkat untuk membangunnya. Teknologi SIP ini yang akan di adopsi oleh
para operator telekomunikasi di Indonesia. Tampaknya yang mulai siap
salah satunya adalah XL, yang mungkin akan di ikuti oleh Indosat.
Sebetulnya
tidak banyak yang harus di instalasi untuk menjalankan Asterisk secara
minimal sekali, yang hanya mempunyai fungsi untuk
- Authentikasi user dengan nomor telepon & password.
- Dial plan, untuk mengatur apa yang harus dilakukan untuk call ke sebuah nomor tertentu.
- ENUM, agar Asterisk nantinya mengenali nomor +62XXX
Peralatan yang dibutuhkan adalah
- l Sebuah PC Linux, saya sendiri menggunakan Fedora Core 6.
- l Sambungan LAN
- l Sambungan Internet
Instalasi Asterisk
- Ambil software asterisk & asterisk sound dari
http://www.asterisk.org. Pada saat tulisan ini ditulis ada dua (2) jenis
/ versi asterisk, yaitu,
asterisk-1.4.0.tar.gz
asterisk-1.2.15.tar.gz
- Anda harus memilih versi asterisk mana yang ingin di install.
Mungkin yang agak aman pada hari ini adalah versi 1.2, kecuali nanti
pada saat 1.4 sudah mulaistabil. Semetara suara operator wanita yang
dibutuhkan adalah
asterisk-sounds-1.2.1.tar.gz
- Saya biasanya akan mengcopykan semua file yang saya butuhkan tersebut ke folder /usr/local/src, melalui perintah
# cp asterisk-1.4.0.tar.gz /usr/local/src/
# cp asterisk-1.2.15.tar.gz /usr/local/src/
# cp asterisk-sounds-1.2.1.tar.gz /usr/local/src/
- Menginstalasi asterisk tidak sukar, cara yang perlu dilakukan untuk
asterisk-1.4 agak berbeda dengan asterisk-1.2 sebelumnya dengan
menambahkan ./configure, yaitu
# cd /usr/local/src
# tar zxvf asterisk-1.4.0.tar.gz
# cd asterisk-1.4.0
# ./configure
# make
# make install
# make samples
- Asterisk-1.2.15 merupakan versi terakhir dari asterisk-1.2 pada saat
naskah ini ditulis, perintah yang perlu dijalankan untuk menginstalasi
adalah
# cd /usr/local/src
# tar zxvf asterisk-1.2.15.tar.gz
# cd asterisk-1.2.15
# make
# make install
# make samples
- Selanjutnya install suara operator asterisk, melalui perintah
# cd /usr/local/src
# tar zxvf asterisk-sounds-1.2.1.tar.gz
# cd asterisk-sounds-1.2.1
# make install
- Seleai sudah proses instalasi asterisk. Langsung selanjutnya yang
perlu dilakukan adalah mengkonfigurasi agar sesuai dengan apa yang kita
inginkan.
Konfigurasi Asterisk Minimal Sekali
- Konfigurasi Asterisk yang aman sangat minimal dengan misi untuk
meng-authentikasi user, mengkonfigurasi dial-plan dan mengenalkan ENUM
tidak banyak yang harus dilakukan. Seluruh proses konfigurasi merupakan
proses editing file-file yang ada di folder
/etc/asterisk
- File yang perlu diperhatikan tidak banyak, hanya,
sip.conf - untuk authentikasi user dengan nomor telepon dan password.
extensions.conf - untuk mengatur dialplan.
enum.conf - untuk memperkenalkan nomor +62XX.
- Masih banyak file-file konfigurasi lainnya, sangat di sarankan bagi
anda yang ingin secara serius mempelajari asterisk untuk membaca-baca
file-file konfigurasi yang ada di /etc/asterisk/
Konfigurasi ENUM.CONF
- Tidak banyak yang harus di ubah di /etc/asterisk/enum.conf, hanya pastikan bahwa ada entry
search => e164.arpa
search => e164.org
search => e164.id
- Dengan cara itu, kita dapat pastikan bahwa informasi ENUM yang ada
di e164.arpa, e164.org dan e164.id akan dapat di ketahui dengan baik
oleh asterisk kita.
Konfigurasi SIP.CONF
- Pada file /etc/asterisk/sip.conf, untuk sebuah account dengan nomor
telepon 2099, password 123456, IP address dinamis menggunakan DHCP maka
entry yang digunakan adalah,
[2099]
context=default
type=friend
username=2099
secret=123456
host=dynamic
dtmfmode=rfc2833
mailbox=2099@default
- Untuk asterisk-1.4, agar dial tone dapat di handel dengan baik maka perlu ditambahkan di tambahan entry berikut
rfc2833compensate=yes
- Masukan entry di atas untuk masing-masing user.
- Sampai titik ini maka masing-masing user dapat meregistrasikan diri
ke asterisk dan dapat menelepon satu sama lain dengan mereka yang
terdaftar di asterisk server yang kita operasikan.
- Agar asterisk server kita dapat berbicara dengan user lain di XL.
Indosat, VoIP Rakyat, di Pulver atau di SIP Proxy yang banyak bertebaran
di Internet, kita perlu meregistrasikan diri ke SIP Proxy server
tersebut. Perintah yang digunakan adalah
register => 2345:password@sip_proxy/1234
- yang artinya, user 1234 di asterisk server yang kita operasikan
merupakan user 2345 di sip_proxy yang login ke sana menggunakan password
"password". Misalnya seseorang user 2000 mempunyai account 20345 di
server voiprakyat.or,id dengan password "rahasia" maka format yang
digunakan adalah
register => 20345:rahasia@voiprakyat.or,id/2000
- Dengan cara ini, maka ada panggilan di VoIP Rakyat ke nomor 20345
akan langsung di forward ke nomor 2000 di SIP server yang kita gunakan.
Konfigurasi EXTENSIONS.CONF
- Pada file /etc/asterisk/extensions.conf kita dapat mengatur apa yang
harus dilakukan oleh asterisk jika menerima sebuah panggilan ke nomor
extension tertentu, yang sering digunakan adalah
exten => _20XX,1,Dial(SIP/${EXTEN},20,rt)
exten => _20XX,2,HangUp
- Cara membaca perintah di atas adalah sebagai berikut,
- Jika ada orang yang menelepon ke extension 20XX maka langkah 1 yang
harus di kerjakan adalah DIAL EXTENsiontersebut mengunakan teknologi
SIP, tunggu 20 detik, jika tidak di angkat maka time out (rt). Langkah
ke 2 yang harus dilakukan adalah HangUp. Tentunya anda perlu mengatur
sedikit-sedikit perintah ini agar sesuai dengan kondisi yang anda
gunakan di SIP Server anda.
Beberapa perintah berbahaya yang sering dicari orang adalah sebagai berikut
exten => _0711X.,1,Dial(SIP/${EXTEN:4}@2031,20.rt)
Cara membaca-nya adalah
- Jika ada orang yang menelepon ke 0711X. Perhatikan titik sesudah X,
berarti berapapun dibelakang X tidak di perdulikan. DIAL menggunakan
teknologi SIP ke nomor 2031. Perhatikan baik-baik kode {EXTEN:4} ini
harus di baca - buang empat (4) digit di depan nomor EXTENsion sebelum
dimasukan ke 2031 - jadi 07115551234 menjadi 5551234.
- Jika kita menggunakan PABX antara ATA dengan Telkom, maka perintah yang digunakan menjadi
exten => _021X.,1,Dial(SIP/9${EXTEN:3}@2031,20.rt)
Cara membaca-nya adalah
- Jika ada orang yang menelepon ke 021X. Perhatikan titik sesudah X,
berarti berapapun dibelakang X tidak di perdulikan. DIAL menggunakan
teknologi SIP ke nomor 2031. Perhatikan baik-baik kode 9{EXTEN:3} ini
harus di baca buang tiga (3) digit di depan nomor EXTENsion yang di dial
kemudian tambahkan 9 - jadi 0215551234 menjadi 95551234.
- Artinya jika nomor 2031 merupakan sebuah Analog Telepon Adapter
(ATA) seperti SPA3000 yang berada di jakarta dan sambungkan ke PABX di
Jakarta. Maka siapapun yang berada di jaringan VoIP Tersebut akan dapat
menelepon Jakarta tanpa perlu membayar SLJII maupun SLI. Orang yang
mempunyai ATA tetap harus membayar pulsa lokal untuk menelelpon ke nomor
ang di tuju.
- Cara yang sama dapat di kembangkan untuk menelepon selular dengan
cara menyambungkan ATA yang kita gunakan ke telkom. Perintah yang
digunakan adalah sebagai berikut
exten => _08X.,1,Dial(SIP/${EXTEN}@2031,20.rt)
- Tentunya untuk sebuah kantor yang tersambung ke jaringan VoIP Publik
tidak akan mau membuka akses agar semua orang dapat menelepon semua
nomor selular atau Telkom, oleh karenanya biasanya kita tidak
menggunakan kode-kode 021X., atau 08X. Tapi kita akan memasukan satu per
satu nomor-nomor yang di ijinkan di telepon melalui VoIP, misalnya,
exten => _0811567854,1,Dial(SIP/${EXTEN}@2031,20.rt)
exten => _0216575675,1,Dial(SIP/${EXTEN}@2031,20.rt)
exten => _0216755675,1,Dial(SIP/${EXTEN}@2031,20.rt)
- Artinya hanya nomor 0811567854, 0216575675 dan 0216755675 yang
dapat dihubungi melalui VoIP nomor selain nomor-nomor ini tidak dapat
dihubungi.
- Untuk mengadopsi nomor telepon +62XXX maupun nomor telepon lainnya kita dapat memasukan ENUMLOOKUP menggunakan perintah
exten => _62X.,1,ENUMLOOKUP(${EXTEN},sip,,1,e164.id)
exten => _62X.,2,Dial(${ENUM})
exten => _62X.,102,Playback(im-sorry)
atau
exten => _+X.,1,ENUMLOOKUP(${EXTEN},sip,,1,e164.id)
exten => _+X.,2,Dial(${ENUM})
exten => _+X.,102,Playback(im-sorry)