65 BAB 3 PERANCANGAN SISTEM 3.1 Sistem SIP

advertisement
BAB 3
PERANCANGAN SISTEM
3.1
Sistem SIP-GSM
Pada skripsi ini akan dibuat sebuah sistem VoIP beserta konfigurasinya antara
SIP dengan GSM Gateway. Sistem yang dibuat memodelkan dua buah kantor di
perusahaan yang secara fisik terpisah. Pada masing-masing kantor tersebut terdapat SIP
PBX dalam bentuk software yaitu Asterisk. SIP-PBX berfungsi untuk mengatur
komunikasi suara yang terdapat pada setiap kantor layaknya PBX tradisional. User
agent yang digunakan dapat berupa softphone dan hardphone. Jika ingin menggunakan
softphone maka cukup melakukan instalasi softphone yang ingin digunakan ke komputer
yang dilengkapi oleh microphone dan loudspeaker. Jika menggunakan hardphone
seperti IP Phone dapat langsung menghubungkannya ke jaringan komputer yang
tersedia. Masing-masing user agent harus dikonfigurasi terlebih dahulu agar dapat
terdaftar ke SIP-PBX. Selain itu agar user agent dikenal oleh SIP-PBX maka pada SIPPBX yang berupa Asterisk perlu disediakan nomor untuk digunakan oleh user agent.
Penyediaan nomor pada SIP-PBX dapat dilakukan pada file sip.conf. Setelah
menyediakan nomor perlu dilakukan pengaturan juga pada SIP-PBX agar SIP-PBX
mangetahui kemana panggilan diteruskan jika ada user agent yang melakukan
panggilan. Untuk menghubungkan antara sistem SIP dengan GSM diperlukan sebuah
media gateway. Adapun media gateway yang digunakan pada skripsi ini berupa GSM
gateway.
65
66
Perancangan sistem dimaksudkan agar user agent pada kantor yang satu dapat
berkomunikasi dengan kantor yang lain tanpa biaya (karena menggunakan jaringan
internet) atau menelepon ke jaringan GSM dengan biaya yang lebih murah. Hal ini dapat
terjadi karena pada setiap perusahaan terdapat SIP PBX yang dapat mengatur
komunikasi antar user agent yang tersedia. Masing-masing SIP-PBX harus
mendaftarkan dirinya pada SIP-PBX lainnya agar dapat dikenal, sehingga SIP-PBX
dapat meneruskan panggilan dari user agent yang terletak pada perusahaan A kepada
user agent yang terletak pada perusahaan B.
Pada saat user agent di perusahaan A ingin menghubungi user agent di
perusahaan B maka panggilan akan melewati SIP PBX di perusahaan A lalu masuk ke
SIP PBX perusahaan B, setelah itu panggilan diteruskan ke user agent perusahaan B,
sehingga komunikasi interlokal ini dapat dilakukan dengan gratis selama jalur internet
tersedia. Jika user agent dari perusahaan A ingin menghubungi GSM lokal di
perusahaan B maka jalur komunikasi yang akan terjadi menyerupai contoh di atas,
bedanya untuk masuk ke GSM lokal di perusahaan B harus melalui media gateway yang
ada di perusahaan B, sehingga komunikasi interlokal ini dapat dilakukan dengan biaya
lokal dan dibayar oleh kantor di perusahaan B.
67
Gambar 3.1 Sistem SIP dengan GSM gateway
68
3.2
Diagram alir Sistem
Gambar 3.2 Diagram alir Sistem SIP - GSM
Gambar 3.2 merupakan diagram alir dari sistem SIP – GSM secara keseluruhan.
Pada sistem ini user dapat melakukan komunikasi antar sesama jaringan lokal, jaringan
lokal ke PSTN dan GSM network, GSM network ke jaringan lokal. Komunikasi antar
jaringan lokal dapat dilakukan dengan cara langsung men-dial nomor extension. Di tiaptiap kantor memiliki marga extension masing-masing, untuk kantor Pusat, extension nya diawali dengan angka 1, sementara di kantor Cabang extension - nya diawali dengan
angka 3, hal ini dimaksudkan agar memudahkan dalam pemanggilan sehingga lebih
69
menjadi lebih teratur. Komunikasi jaringan lokal ke GSM/ PSTN dilakukan dengan cara
User harus men-dial nomor yang akan dituju dan sebelumnya diawali dengan nomornomor rahasia agar tidak semua pihak bisa menggunakan akses untuk melakukan
panggilan ke GSM/ PSTN. Hal ini dilakukan untuk mencegah terjadinya komunikasi
yang dilakukan oleh pihak yang tidak berkepentingan, tapi ada beberapa extension yang
benar-benar tidak diberi akses untuk menghubungi jaringan GSM/ PSTN meskipun
sudah men-dial nomor yang dituju diawali dengan nomor-nomor rahasia. Komunikasi
dari GSM/ PSTN ke jaringan lokal dilakukan dengan men-dial nomor GSM kantor,
penelepon akan langsung terhubung dengan IVR yang akan memerintahkan untuk mendial extension yang dituju, ivr akan didengarkan dengan waktu tertentu selama belum
ada penekanan extension tujuan, jika waktu yang disediakan habis maka panggilan akan
langsung dihubungkan dengan extension operator. Fitur-fitur yang tersedia pada sistem
ini antara lain adalah call transfer, call parking, voice mail, IVR dan conference call.
3.3
Rancangan Perangkat Keras
Adapun perangkat keras yang digunakan dalam sistem SIP PBX dalam skripsi ini
mencakup : komputer yang difungsikan sebagai server, SIP user agent, Hub/Switch,
Router, GSM gateway dan kabel UTP.
3.3.1 Komputer sebagai server
Spesifikasi komputer yang digunakan sebagai server dalam perancangan
ini adalah:
70
Tabel 3.1 Spesifikasi server
Komponen
Server 1
Server 2
Processor
Pentium 4 @ 2 GHz
Pentium 4 @ 1.8 GHz
Memory
256 MB
256 MB
Kedua server di atas mampu menangani kebutuhan komunikasi pada
small office dengan jumlah pengguna yang diasumsikan tidak lebih dari 20 user.
Network Interface Card dibutuhkan untuk menghubungkan komputer server
dengan jaringan komputer.
3.3.2 SIP User agent
Adapun user agent yang akan digunakan dalam sistem ini ada 2 macam,
yaitu dalam bentuk perangkat keras (hardphone) dan perangkat lunak
(softphone). Perangkat keras (hardphone) yang digunakan dalam sistem adalah
IP Phone. IP Phone adalah sebuah telepon yang memiliki alamat IP. IP Phone
yang digunakan pada sistem ini harus mendukung protokol SIP, memiliki
koneksi Ethernet dan dapat dikonfigurasi agar dapat berkomunikasi dengan
server. Softphone yang digunakan X-Lite, untuk itu perlu dilakukan instalasi XLite terlebih dahulu pada komputer ataupun laptop yang akan menjadi user
agent.
Pengaturan yang dilakukan pada user agent dalam bentuk hardphone
ataupun softphone meliputi pengaturan alamat ip, subnet mask, domain, gateway,
SIP server, username dan password pada masing – masing IP Phone yang akan
71
digunakan. Pengaturan username dan password yang digunakan harus sesuai
dengan pengaturan yang terdapat dalam file sip.conf agar dapat terdaftar di
server yang telah disediakan.
3.3.3
Hub dan Switch
Pada skripsi ini perancangan sistemnya menggunakan hub dan switch
yang akan digunakan untuk menghubungkan semua komponen sistem dalam satu
jaringan. Hub digunakan karena mengirimkan data secara broadcast sehingga
memudahkan sistem untuk dianalisa. Pada implementasi sistem lebih baik
menggunakan switch karena memiliki nilai throughput lebih tinggi. Saat ini, hub
sudah banyak ditinggalkan dan diganti dengan switch karena hub mempunyai
kecepatan transfer data yang lebih lambat daripada switch. Konfigurasi ataupun
pengaturan khusus tidak diperlukan dalam menggunakan Hub dan Switch.
3.3.4
Router
Router adalah sebuah alat jaringan komputer yang mengirimkan paket
data melalui sebuah jaringan atau internet menuju tujuannya, melalui sebuah
proses yang dikenal sebagai routing.
Router berfungsi untuk menghubungkan network yang satu dengan yang
lain dan memilih jalur yang terbaik untuk mengirimkan paket data. Router
mengirimkan paket data berdasarkan IP address. Pada sistem ini, router
dimaksudkan untuk memodelkan dua buah perusahaan yang berbeda. Pengaturan
dilakukan agar kedua router dapat meneruskan data dari satu jaringan ke jaringan
lainnya.
72
3.3.5
GSM Gateway
GSM gateway yang dipilih untuk perancangan adalah SoundWin V100
yang memiliki 4 buah port, yang terdiri dari port phone (FXS), port line (FXO),
port WAN dan port untuk power. Selain itu, juga terdapat sebuah slot untuk
GSM card dan tombol reset. Pengaturan parameter FXS pada GSM gateway
dapat dilakukan melalui web browser dengan memasukkan alamat ip GSM
gateway yang ada, untuk melakukan konfigurasi user diharuskan untuk
melakukan proses login terlebih dahulu. GSM Gateway yang digunakan pada
perancangan skripsi mendukung beberapa codec yang ada, diantaranya G.711(Alaw /μ-law), G.729 AB, G.723 (6.3 Kbps / 5.3Kbps).
3.4
Pemilihan Perangkat Lunak
Perangkat lunak yang dapat digunakan dalam sistem ini antara lain: Asterisk,
trixbox, AsteriskWin32, Axon, FreeSwitch, MiniServer, sebagai SIP-PBX.
Tabel 3.2 Perbandingan SIP – IP PBX
SIP-
Asterisk
AsteriskWin32
Axon
FreeSwitch MiniSIPServer TrixBox
PBX
1.4.22
Platform
Linux
Windows
Window
Linux
Windows
Linux
Source
Open
Open
Closed
Closed
Closed
Closed
Cost
Free
Free
Free
Free
$49
Free
73
Pada penelitian ini, digunakan SIP server Asterisk 1.4.22 dengan platform Linux.
Alasan penggunaan tersebut karena fitur pada platform Linux lebih lengkap daripada
platform pada Windows.
Selain perangkat lunak yang telah disebutkan diatas, terdapat juga perangkat
lunak tambahan yang digunakan yaitu : ZTDummy dan X-Lite.
3.4.1 Asterisk 1.4.22
Asterisk 1.4.22 merupakan perangkat lunak gratis yang berfungsi sebagai
SIP-PBX. Pemilihan ini dilakukan karena Asterisk 1.4.22 merupakan open
source yang menggabungkan fungsi SIP proxy server, SIP registrar server dan
SIP Redirect server ke dalam satu server. Pada Asterisk 1.4.22 dilakukan
konfigurasi untuk mengatur jalannya komunikasi pada sistem. Konfigurasi ini
dilakukan pada file sip.conf, extension.conf, features.conf dan voicemail.conf.
dan meetme.conf.
3.4.1.1 SIP.CONF
Pada bagian [general] di file sip.conf ada beberapa variabel yang
dapat dikonfigurasikan beberapa diantaranya adalah:
• allow = <codec>
Merupakan perintah untuk mengaktifkan codec yang akan
digunakan.
• allowexternalinvites = yes | no
74
Mengaktifkan (enable) atau menonaktifkan (disable) pilihan
INVITE & REFER ke non-local domain. Pilihan default-nya
adalah yes.
• allowguest = yes | no
Terima atau tolak panggilan dari guest. Pilihan default-nya
adalah yes.
• allguest = yes | no
Terima atau tolak panggilan dari guest. Pilihan default-nya
adalah yes.
• autocreatepeer = yes | no
Jika diatur yes, semua orang dapat dengan mudah login sebagai
peer tanpa password (biasanya bermanfaat untuk beroperasi
dengan SER). Pilihan default-nya adalah yes.
• autodomain = yes | no
Mengaktifkan/menonaktifkan
kemampuan
Asterisk
untuk
menambah local hostname dan alamat IP lokal (local IP address)
ke daftar domain (domain list). Default-nya adalah no.
• bindaddr = IP_Address
Alamat IP yang di-bind (diikat) sebagai tempat untuk
mendengarkan sambungan. Pilihan default-nya adalah 0.0.0.0
yang berarti semua IP bisa terhubung dengan asterisk.
• bindport = Number
75
UDP port yang dipakai untuk berkomunikasi. Pilihan default-nya
adalah 5060.
• callerid = <string>
Untuk menampilkan informasi nama dari suatu extension.
Pilihan default-nya adalah asterisk.
• canreinvite = update | yes | no
Jika client mampu mendukung SIP re-invites. Default-nya adalah
yes.
• checkmwi = number
Menentukan interval untuk memeriksa mailbox dalam satuan
detik. Pilihan default-nya adalah 10 detik.
• compactheaders = yes | no
Apakah Asterisk akan mengirim header SIP dalam bentuk
kompak (singkatan) atau lengkap. Pilihan default-nya adalah no.
• context = <contextname>
Ini adalah default context yang akan digunakan bagi pesawat
telepon yang tidak memiliki context. Isi context dapat diatur di
file extensions.conf.
• defaultexpirey = number
Lama
waktu
default
(dalam
detik)
dari
registrasi
incoming/outgoing. Pilihan default-nya adalah 120 detik.
• disallow = all
Tidak mengizinkan semua codec untuk digunakan.
76
• dtmfmode = inband | info | rfc2833 (global setting)
Pilihan default-nya adalah rfc2833.
• domain = domains
Daftar domain (ditulis dengan dibatasi oleh koma) dimana
asterisk harus bertanggung jawab.
• dumphistory = yes | no
Mengaktifkan dukungan untuk tidak mencatat transaksi SIP ke
LOG_DEBUG. Pilihan default-nya adalah no.
• externip = alamat_IP/Hostname
Alamat yang akan diletakkan di SIP messages jika berada di
belakang NAT. Jika pilihan hostname digunakan, alamat IP yang
terkait dengan hostname tersebut akan dibaca sekali pada saat
membaca file sip.conf. Jika ingin menggunakan hostname dari
alamat IP dinamis (dynamic IP address), gunakan parameter
externhost.
• externhost = hostname.tld.
• externrefresh = number
Menentukan berapa sering (dalam detik) pengecekan DNS
dilakukan untuk externhost. Pilihan default-nya adalah 10 detik.
• ignoreregexpire = yes | no
Mengatur apakah tetap menggunakan contact information dari
sebuah peer walaupun informasi tersebut telah kadaluarsa.
Pilihan default-nya adalah no
77
• language = <string>
Bahasa default yang digunakan oleh Playback()/Background().
• localnet = NetAddress/Netmask
Alamat IP lokal berikut alamat subnetmask-nya.
• fromdomain = <domain>
Mengatur isian from: domain default di sip message pada saat
beroperasi sebagai sip ua (client).
• insecure = very | yes | no | invite | port
Mengatur cara menangani sambungan dengan peer. Pilihan
default-nya adalah no (validasi semua sambungan).
• maxexpirey = Number
Durasi (dalam detik) dari registrasi incoming. Pilihan defaultnya adalah 3600 detik.
• musicclass
=
salah
satu
kelas
yang
digunakan
di
musiconhold.conf.
• musiconhold = sama dengan musicclass.
• nat = yes | no | never | route
Pilihan default-nya adalah no (yang berarti menggunakan teknik
rfc3581).
• notifymimetype = mediatype/subtype
Membolehkan tidak dipakainya tipe MIME di MWI NOTIFY
yang digunakan di voicemail online message. Pilihan default-nya
adalah application/simple-message-summary.
78
• Notifyringing = yes | no
Memberitahukan bahwa sistem sedang masuk ketahapan ringing.
Pilihan default-nya adalah yes.
• tcpenable = yes | no
Digunakan untuk mengaktifkan atau menonaktifkan TCP, pilihan
default-nya no.
• transport = tcp|udp
Memilih protokol yang digunakan untuk transport. Pilihan
default-nya udp.
Varibel berikut dapat digunakan pada setiap definisi peer:
• Accountcode = <string>
User dapat diasosiasikan ke accountcode.
• Allow = <codec>
Merupakan perintah untuk mengaktifkan codec yang akan
digunakan.
• Allowguest = yes | no
Terima atau tolak panggilan dari orang yang tidak dikenal.
Pilihan default-nya adalah yes, dapat juga diatur ’osp’ jika
asterisk dikompilasi untuk mendukung OSP.
• Auth = <authname>
Isi dari digest username = pada header SIP.
• callerid = <string>
79
Caller ID yang digunakan jika tidak ada informasi yang tersedia.
Pilihan default-nya adalah asterisk.
• call-limit = number
Banyaknya sambungan telepon simultan yang dapat dilakukan ke
user/peer tertentu.
• callgroup = num1,num2-num3
Mendefinisikan calling group yang dapat menelepon ke alamat
ini.
• callingpress = number | descriptive_text
Atur tampilan caller ID terhadap sebuah sambungan/call. Nilai
text descriptive yang dapat diisi adalah allowed_not_screened,
allowed_passed_screen,
allowed_failed_screen,
prohib_not_screen,
allowed
prohib_passed_screen,
prohib_failed_screen, prohib dan unavailable. Pilihan default-
nya adalah allowed_not_screened.
• canreinvite = update | yes | no
Jika client mampu mendukung SIP re-invites. Default-nya adalah
yes.
• context = <context_name>
Jika type = user, context merupakan panggilan yang masuk ke
definisi user SIP. Jika type = peer, context merupakan dialplan
untuk melakukan panggilan ke luar/outbound dari definisi peer
80
SIP. Jika type = friend, context merupakan semua hubungan
inbound dan outbound ke definisi entitas SIP.
• defaultip = ip.add.res.s
Alamat IP default untuk pilihan client host = jika tidak
dispensifikasi sebagai dynamic. Pilihan ini dipakai jika client
belum pernah terdaftar menggunakan alamat IP yang lain.
Pilihan ini hanya berlaku jika isian type = peer.
• disallow = all
Menolak semua codec untuk peer tersebut atau definisi user.
• dtmfmode = inband | info | rfc2833
Bagaimana client menangani signal DTMF. Pilihan default-nya
adalah rfc2833.
• fromuser = <from_ID>
Menentukan user yang diletakkan di isian ”from” selain caller
ID (menimpa caller ID) pada saat melakukan calls_to_peer (ke
SIP proxy lain) berlaku hanya untuk isian type = peer.
• fromdomain = <domain>
Pengaturan from: domain default di pesan (message) SIP pada
saat melakukan calls_to_peer. Valid hanya di bagian [general]
atau type = peer.
• fullcontact = <sip:uri_contact>
Kontak SIP URI untuk koneksi realtime peer. Berlaku hanya
untuk realtime peers.
81
• host = dynamic | hostname | IPAddr
Alamat IP client atau hostname. Jika ingin telepon mendaftarkan
sendiri, gunakan keyword dynamic jangan menggunakan host IP.
• incominglimit dan outgoinglimit = number
Batasan jumlah panggilan aktif simultan yang dapat dilakukan
oleh client SIP. Berlaku hanya untuk pilhan type = peer.
• insecure = very | yes | no | invite | port
Menentukan cara menangani sambungan dengan peer. Pilihan
default-nya adalah no (otentikasi bagi semua sambungan).
• ipaddr = ip.addr.dari.peer
Berlaku hanya untuk realtime peer.
• language
=
kode
bahasa
seperti
didefinisikan
di
indication.conf
Mendefinisikan bahasa untuk sapaan.
• mailbox = mailbox
Extension untuk voicemail. Berlaku hanya untuk type = peer.
• name = <name>
Nama dari realtime peer. Berlaku hanya untuk realtime peer
saja.
• nat = yes | no
Variabel ini menentukan pola aksi Asterisk untuk client di
belakang NAT. Namun masih belum menyelesaikan masalah
82
jika Asterisk ada di belakang NAT. Pilihan default-nya adalah
no, yang artinya menggunakan teknik rfc3581.
• outboundproxy = IP address atau nama DNS SRV
Nama SRV name, hostname, atau IP address dari outbound SIP
proxy. Berlaku hanya di bagian [general] dan type = peer.
• progressinband = yes | no | never
Apakah nada dering di inband akan dibangkitkan. Pilihan
default-nya adalah never.
• promiscredir = yes| no
Mengizinkan dukungan untuk 302 Redirects. Pilhan default-nya
adalah no.
• qualify = yes | no | milliseconds
Periksa apakah client dapat dihubungi. Jika ya, pemeriksaan
akan dilakukan setiap 2000 millisecond atau 2 detik. Hanya
berlaku dibagian [general] dan type = peer.
• rtptimeout dan rtpholdtimeout = seconds
Putuskan hubungan jika dalam x detik tidak ada aktifitas RTP
atau dalam posisi on hold. Berlaku hanya untuk bagian [general]
dan type = peer.
• secret = password
Jika Asterisk berfungsi sebagai SIP server, client SIP harus login
menggunakan password, jika asterisk berfungsi sebagai client
SIP ke remote SIP server, dibutuhkan otentikasi SIP invite dan
83
isi secret akan digunakan untuk melakukan otentikasi SIP invite
yang dikirim Asterisk ke remote server.
• trustrpid = yes | no
Jika remote-party-ID SIP header perlu dipercaya. Pilihan
default-nya adalah no.
• type = user | peer | friend
Menetukan hubungan antara client-outbound provider.
• username = <username[@realm]>
Jika berfungsi sebagai client SIP ke remote SIP server yang
membutuhkan otentikasi SIP invite, parameter ini digunakan
untuk otentikasi SIP INVITE yang akan dikirim Asterisk ke
remote SIP server. Untuk peer yang akan mendaftarkan diri ke
Asterisk, username digunakan di INVITE sampai mereka
terdaftar.
• vmexten = <string>
Dialplan extension untuk menghubungi mailbox. Pilihan defaultnya adalah Asterisk. Berlaku hanya di bagian [general] atau
type = peer.
3.4.1.2 EXTENSIONS.CONF
File extensions.conf adalah file yang digunakan untuk mengatur
routing dari sistem IP PBX dan dijalankan berdasarkan pada prioritas
yang telah ditentukan.
84
Format penulisan perintah yang digunakan adalah:
exten = <nomor_extension>, <prioritas>, <command/parameter>.
Tanda “=” (sama dengan) dapat diganti dengan tanda “=>”.
File extensions.conf memiliki beberapa bagian, yaitu :
• [general]
Berada di bagian paling atas dari file extensions.conf. Melalui
[general], beberapa konfigurasi umum untuk extension dapat
dikonfigurasi.
• [globals]
Pada bagian [globals], dapat didefiniskan beberapa variable atau
konstanta global dan menginisialisasi nilainya.
• Dialplan
Dialplan berisi kumpulan dari context, di mana setiap context
berisi kumpulan dari extension.
Komponen yang membangun perintah extension adalah sebagai berikut:
• Nomor_extension.
Label dari extension dapat berupa sebuah string (angka, huruf,
dan simbol yang diizinkan) atau pola yang harus dievaluasi
secara dinamis untuk mencocokan pola tersebut dengan banyak
kemungkinan nomor telepon. Setiap command line yang menjadi
bagian dari extension tertentu harus mempunyai label yang sama.
• Prioritas.
85
Prioritas biasanya berupa angka integer yang merupakan urutan
dari perintah yang harus dijalankan dalam sebuah extension.
Perintah pertama yang akan dijalankan harus dimulai dengan
prioritas 1, jika tidak terdapat prioritas 1, asterisk tidak akan
menjalankan perintah extension. Setelah prioritas 1
selesai
dijalankan, akan dilanjutkan ke prioritas 2 dan seterusnya
(dengan asumsi tidak ada perintah yang menentukan prioritas
mana yang selanjutnya harus dijalankan). Jika perintah
selanjutnya ternyata tidak terdefinisi, asterisk akan menghentikan
proses eksekusi perintah (walaupun masih ada perintah dengan
prioritas lebih tinggi).
• Command
Perintah yang akan dikerjakan dan yang akan dijalankan oleh
asterisk.
• Parameter
Parameter harus diberikan kepada sebuah perintah (command).
Tidak semua perintah membutuhkan parameter. Beberapa
perintah bahkan dapat dijalankan tanpa parameter.
Contoh :
exten => 123,1,Answer
exten => 123,2,Playback(sound1)
exten => 123,3,Voicemail(44)
exten => 123,4,Hangup
86
Penjelasan :
Pada saat terjadi penekanan 123, maka extension 123 akan
langsung menjawabnya dan setelah itu akan memainkan file
suara dengan nama sound1 setelah file suara tersebut selesai
dimainkan maka akan langsung memasukan voicemail ke
mailbox 44 dan setelah selesai akan memutuskan.
3.4.1.3 FEATURES.CONF
Pada file ini, dapat dilakukan pengaturan untuk fitur call
transfer dan call parking. Parameter-parameter terdapat pada bagian
[general] dan [featuremap].
• Pada bagian [general]
o parkext => <number>
<number> diisi dengan nomor yang harus di-dial untuk
mendapatkan nomor ruang parking.
o parkpos => <number-number>
Berisi nomor ruang parking yang disediakan.
o context => <string>
<string> berisi nama yang digunakan pada extensions.conf
sebagai include.
o parkingtime => <number>
<number> diisi dengan lamanya waktu tunggu parking,
satuannya detik. Pilihan default-nya adalah 45 detik. Jika
selama waktu yang ditentukan tidak ada yang menghubungi
87
nomor ruang parking yang diberikan, maka panggilan akan
dikembalikan kepada penerima semula.
o transferdigittimeout => <number>
<number> diisi dengan lamanya waktu tunggu antar digit
ketika melakukan panggilan transfer.
• Pada bagian [featuremap]
o blindxfer => 0-9 | * | #
Tombol yang ditentukan untuk mengaktifkan fitur call
transfer atau call parking. Setelah melakukan transfer atau
parking maka pihak yang melakukannya hang-up.
o atxfer => 0-9 | * | #
Tombol yang ditentukan untuk mengaktifkan fitur call
transfer atau call parking. Setelah melakukan transfer atau
parking, pihak yang melakukannya tidak hang-up.
3.4.1.4 VOICEMAIL.CONF
Pada file ini, dapat dilakukan pengaturan untuk fitur VoiceMail.
Pengaturan dapat dilakukan pada bagian [general], [default], ataupun
context lainnya.
• Bagian [general]
o maxmsg => <number>
Jumlah maksimum pesan yang dapat disimpan. Maximum
pesan yang dapat disimpan adalah 9999 dan default-nya
adalah 100 pesan
88
o maxmessage => <number>
Berisi waktu maksimum untuk menyimpan pesan (satuan
detik).
o minmessage => <number>
Berisi waktu minimum agar suatu pesan dapat disimpan.
Default-nya tidak ada waktu minimum.
o maxlogins => <number>
Berisi jumlah maksimum percobaan login (memasukkan
password). Jika melewati jumlah pada maxlogins,
panggilan akan hang-up.
• Bagian [default]
Pada bagian ini, dapat dibuat mailbox. Mailbox dapat dibuat
di context yang lain. Perlu diperhatikan bahwa context di
mailbox voicemail dengan context di file extensions.conf tidak
saling berhubungan. Perintah untuk membuat mailbox voicemail
adalah sebagai berikut:
Mailbox_number => password,name,email
o Mailbox_number
Æ
nomor
yang
digunakan
di
extensions.conf untuk perintah VoiceMail().
o password Æ password yang akan diminta ketika client
akan akses ke nomor voicemail.
o name
(string)
Æ
diisi
menggunakan fitur voicemail.
dengan
extension
yang
89
o e-mail Æ email yang digunakan untuk memberitahu jika
terdapat voicemail yang masuk.
Contoh membuat mailbox :
[vm]
8101 => 101,101,[email protected]
Pada perintah di atas akan dibuat mailbox context dengan nama
vm, mailbox dengan nomor 8101, dengan password 101, yang dimiliki
oleh user dengan extension 101 dengan e-mail [email protected].
3.4.1.5 MEETME.CONF
Pada file ini kita bisa membuat room untuk conference call .
Pengaturan dapat dilakukan pada bagian [general],[room]
• Bagian [general]
o Audiobuffers=32
Pada bagian ini akan di set audiobuffer untuk conference
sehingga bisa menghindari jitter pada saat akan terjadi
komunikasi
yang
bersamaan,
nilai
terendah
untuk
audiobuffer adalah 2 dan nilai tertinggi adalah 32. Nilai
yang ada di sini menunjukan delay yang terjadi saat terjadi
komunikasi bersamaan.
• Bagian [room]
Pada bagian ini kita menentukan dapat dibuat rooms untuk
melakukan conference call dimana perintah untuk membuat
conference call adalah sebagai berikut:
90
conf => conference_number[,pin][,administrator_pin]
o Conf adalah perintah untuk membuat room conference
call.
o conference_number adalah nomor yang di sediakan untuk
conference call.
o [,pin] adalah password yang user gunakan untuk masuk
kedalam
room
conference,
pada
bagian
ini
bisa
dikosongkan bila tidak ingin menggunakan password.
o [,administrator_pin] adalah password yang digunakan
oleh administrator dari conference call ini, pada bagian ini
bisa dikosongkan bila tidak ingin menggunakan password.
Contoh membuat room untuk conference call:
[general]
Audiobuffers=32
[rooms]
Conf => 1111,123456,789
Pada perintah di atas akan dibuat sebuah room untuk conference
dengan nomor 1111 dan password untuk masuk sebagai user adalah
123456 dan password sebagai administrator conference call nya adalah
789, dan disediakan 32 milidetik sebagai audiobuffer pada saat
pembicaraan untuk menghilangkan jitter pada saat terjadi pembicaraan
yang bersamaan,sehingga pembicaraan yang bersamaan akan di delay
selama 32 milidetik.
91
3.4.2 ZTDummy
Pada skripsi ini agar Asterisk dapat melakukan Conference dengan
menggunakan aplikasi MeetMe, diperlukan timer/pewaktu untuk dapat bekerja.
Timer ini secara default tidak aktif kecuali memiliki perangkat zaptel. Jika tidak
memiliki perangkat zaptel, ZTDummy dapat digunakan sebagai alternatifnya.
ZTDummy adalah perangkat zaptel dummy yang hanya menyediakan timer dan
tidak menyediakan channel.
Zaptel adalah software yang digunakan untuk menetapkan sistem
signaling yang digunakan pada FXO dan FXS Module serta tipe negara
pemakainya. Sistem telepon tradisional akan berbeda dari satu negara ke negara
lainnya sehingga selalu terdapat variasi dari ketentuan baku international.
Ketentuan baku tersebut ditentukan oleh ITU dan zaptel mendukung sebagian
besar variasi nasionalnya dengan jalan menyesuaikan parameter yang diperlukan
saat kompilasi dan instalasi ke kernel.
Install ztdummy :
Dibutuhkan source code zaptel untuk menginstall ztdummy. Silahkan
donwload dari asterisk.org.
Langkah-langkah Install ztdummy:
• tar -zxvf zaptel-x.y.z.tar.gz
• cd zaptel-x.y.z
• ./install_prereq test
• ./install_prereq install
• ./configure
92
• make menuconfig
• make
• sudo make install
Untuk mengecek ztdummy gunakan lsmod
$lsmod | grep zt
Jika belum muncul ketik
$sudo modprobe ztdummy
Setelah menginstall ztdummy, selanjutnya perlu meng-compile ulang
Asterisk untuk menciptakan aplikasi Meetme. Tetapi sebelumnya coba pastikan
dulu bahwa aplikasi meetme belum terpasang, dengan melihat apakah terdapat
file app_meetme.so di /usr/lib/asterisk/modules/. Jika tidak ada, maka compile
ulang asterisk atau cukup menambahkan aplikasi meetme. Berikut ini langkah –
langkah menambahkan aplikasi MeetMe pada asterisk:
•
cd asterisk
•
make clean
•
./configure
•
make menuselect ; silahkan pilih aplikasi meetme
•
make
•
sudo make install
Setelah selesai, kemudian jalankan asterisk kembali.
93
3.4.3 X-Lite
Softphone merupakan aplikasi VoIP client yang dapat di install di PC
(baik desktop maupun laptop) atau PDA. Konfigurasi yang dilakukan di
Softphone kurang lebih sama dengan IP Phone terutama untuk registrasi ke
server VoIP. Softphone yang digunakan dalam penelitian ini adalah X-Lite versi
3. Softphone ini bersifat free lisence sehingga dapat diperoleh secara gratis. Fitur
yang tedapat dalam X-Lite versi 3 ini antara lain : Fasilitas Phone Book, Call
History, Video Conference, Record suara, Ringtone, Fasilitas Do not Disturb, dan
memiliki 2 buah line yang berfungsi untuk melakukan panggilan atau menerima
panggilan secara bersamaan tanpa harus memutuskan panggilan yang lain.
Gambar 3.3 menunjukkan Softphone X-lite.
Gambar 3.3 Softphone X-Lite
3.5
Konfigurasi Jaringan
Konfigurasi jaringan pada perancangan sistem yang dibuat, meliputi konfigurasi
IP address menggunakan static IP terhadap semua perangkat keras yang terhubung ke
jaringan seperti server, user agent (IP Phone dan PC client dengan softphone), router
dan media gateway.
94
3.6
Fitur pada Sistem
Fitur-fitur yang tersedia pada perancangan sistem adalah: call transfer, call
parking, voice mail, conference call dan Interactive Voice Response (IVR).
3.6.1 Call Transfer
Call transfer merupakan fitur dimana penerima dapat memindahkan
saluran ke extension yang lain. Cara kerja call transfer adalah seperti pada
gambar 3.4.
Gambar 3.4 Diagram alir Call Transfer
Pada saat terjadi komunikasi, penerima menekan tombol ’#’ lalu
terdengar suara ”transfer” yang berasal dari server kemudian penerima menekan
nomor extension yang dituju, setelah itu penerima hang up dan penelepon akan
tersambung dengan extension yang di-transfer. Pengaturan fitur call transfer ini
dilakukan pada file features.conf dan extensions.conf. Pengaturan tombol untuk
melakukan transfer dilakukan pada file features.conf. Pada aplikasi dial yang
terdapat di file extensions.conf dapat ditambahkan parameter t atau T dimana t
95
berarti penerima dapat melakukan transfer komunikasi sedangkan T berarti
penelepon dapat melakukan transfer komunikasi.
Contoh: Exten => 1000,1,Dial(SIP/1000,30,t)
3.6.2 Call Parking
Call parking merupakan fitur dimana pengguna dapat berpindah unit
telepon ke telepon lain dalam lingkungan SIP PBX tanpa perlu terjadi pemutusan
komunikasi. Pada server SIP PBX (Asterisk) terdapat nomor ruang parking yang
nantinya diberikan kepada pengguna call parking untuk melanjutkan
komunikasi. Cara kerja fitur ini adalah seperti pada gambar 3.5
Gambar 3.5 Diagram alir Call parking
Pada saat terjadi komunikasi, penerima menekan tombol ’#’ lalu akan
terdengar suara ”transfer” kemudian penerima men-dial nomor yang telah
ditetapkan pada file features.conf untuk mendapatkan nomor ruang parking.
96
Penerima akan mendengar nomor ruang parking yang diberikan oleh Asterisk,
setelah itu penerima hang up dan user lain melakukan dial ke nomor parking
untuk melanjutkan komunikasi. Nomor ruang parking ini dapat diatur pada
features.conf.
3.6.3 Voice Mail
Voice mail merupakan salah satu fitur pada asterisk yang berfungsi untuk
meninggalkan pesan, jika penerima tidak menjawab panggilan dalam waktu
tertentu. Setiap user memiliki mailbox masing – masing dimana pada mailbox
tersebut akan disimpan pesan dari pihak penelepon. Alur kerja voicemail dapat
dilihat pada gambar 3.6 dan gambar 3.7
Gambar 3.6 Diagram alir Penelepon Meninggalkan Pesan
Pada saat penelepon men-dial nomor extension penerima, namun tidak di
jawab dalam waktu tertentu, maka penelepon akan masuk ke voicemail.
Kemudian penelepon akan mendengarkan beberapa instruksi voicemail. Apabila
97
penelepon ingin meninggalkan pesan, proses record akan dilakukan dan
disimpan ke dalam mailbox, sebaliknya jika penelepon tidak ingin meninggalkan
pesan proses penyimpanan pesan tidak terjadi. Berikut alur diagram untuk
mendengarkan voicemail.
Gambar 3.7 Diagram alir Mendengarkan Voicemail.
98
Pemilik mailbox dapat mendengarkan pesan suara yang tersimpan pada
mailbox dengan cara men-dial angka 8 diikuti nomor extension-nya, setelah itu
pemilik mailbox mendengarkan instruksi untuk memasukkan password. Apabila
password yang dimasukkan salah, pemilik mailbox hanya diberi kesempatan 3
kali memasukkan password kembali, jika melebihi 3 kali maka sambungan
telepon akan terputus. Berbagai menu pada saat pemilik mailbox berhasil
mengakses mailbox adalah sebagai berikut:
ƒ
0 Mailbox options
1 Rekam unavailable message
2 Rekam busy message
3 Rekam nama kita
4 Ubah password kita
* Kembali ke menu utama
ƒ
1 Dengarkan pesan-pesan
ƒ
2 Ubah folders
ƒ
3 Advanced options
1 Send reply
2 Call back
3 Envelope
4 Outgoing call
5 Leave message
* Kembali ke menu utama
ƒ
4.Play pesan sebelumnya
ƒ
5 Repeat pesan
99
ƒ
6 Play pesan berikutnya
ƒ
7 Delete pesan ini
ƒ
8 Forward pesan ke mailbox lain
ƒ
9 Save pesan di sebuah folder
ƒ
* Help; saat playback pesan:Rewind
ƒ
# Exit; saat playback pesan:Fastforward
Pada saat mendengarkan rekaman pesan voicemail, kita dapat
menggunakan tombol berikut untuk navigasi, yaitu :
ƒ
Tombol ’*’ ( rewind )
ƒ
Tombol ’#’ (forward)
(catatan : tombol ’*’ dan ’#’ hanya berfungsi pada saat pesan suara
sedang berlangsung).
Perintah untuk membuat mailbox voicemail pada voicemail.conf sebagai
berikut:
Mailbox_number =>password, name, email
Contoh :
[mailbox_tutor]
888=>101,yansen,[email protected]
Pada perintah di atas, membuat mailbox dengan nama context
mailbox_tutor, mailbox dengan nomor 888 dan password 101, yang dimiliki
oleh user bernama Yansen dengan email [email protected].
Perintah di bawah ini digunakan agar user yang menelepon extension
101 dapat meninggalkan pesan ke mailbox yansen.
100
VoiceMail(mailbox_number@context)
Perintah di atas dituliskan di file extensions.conf.
Contoh pada extensions.conf :
exten => 101,1,Dial(SIP/101,30)
exten => 101,2,VoiceMail(888@mailbox_tutor)
exten => 101,3,HangUp()
Pada saat extension di-dial, Asterisk akan mencoba menelepon user
dengan extension 101. Jika panggilan tidak diangkat melebihi waktu 30 detik,
prioritas selanjutnya yang akan dijalankan Asterisk adalah membuka mailbox
888 pada context mailbox_tutorial. Pada proses ini penelepon dapat
meninggalkan pesan suara. Asterisk akan menjalankan prioritas berikutnya yaitu
hangUp setelah penelepon meninggalkan pesan. Pesan voicemail tersimpan pada
direktori /var/lib/asterisk/sound/voicemail untuk mendengarkan pesan di mailbox
masing – masing extension digunakan perintah VoiceMailMain di Asterisk.
Pengaturan untuk mendengar pesan dilakukan pada file extensions.conf. Perintah
di Asterisk adalah : VoiceMailMain(mailbox@context).
Sebagai contoh:
exten => 8101,1,VoiceMailMain(888@mailbox_tutorial)
Penelepon yang men-dial nomor 8101, akan masuk ke mailbox 888 dan
penelepon akan diminta password. Jika password berhasil, maka penelepon
tersebut dapat memilih menu untuk mengatur mailbox-nya.
101
3.6.4 Conference Call
Conference call merupakan salah satu fitur yang terdapat di Asterisk.
Dengan fitur ini, setiap extension dapat terhubung ke dalam suatu ruangan
conference yang telah dibuat. Pada dasarnya terdapat dua langkah yang perlu
dilakukan untuk mengkonfigurasi conference pada Asterisk, yaitu membuat
ruang konferensi (conference room) dan menambahkan ruang konferensi tersebut
ke dalam dialplan. Conference room pada Asterisk menggunakan aplikasi
MeetMe. Berikut diagram untuk Conference Call:
Gambar 3.8 Diagram alir Conference Call
102
Aplikasi MeetMe ini memerlukan timer/pewaktu untuk dapat bekerja.
Timer ini secara default tidak aktif kecuali kita memiliki perangkat zaptel.
Apabila tidak memiliki perangkat zaptel, dapat menggunakan ztdummy (instalasi
ztdummy sudah dijelaskan pada sub bab 3.4.2 ZT Dummy).
Konfigurasi ruang konferensi pada meetme.conf terdapat pada direktori
/etc/lib/asterisk/meetme.conf.
Perintah
yang
digunakan
untuk
mengkonfigurasikan ruang konferensi adalah:
Conf=>conference_number, PIN
Sebagai contoh setup sebuah ruang konferensi dengan nomor 1234 dan
PIN 1111 adalah :
[rooms]
Conf=>1234,1111
Untuk mengkonfigurasi dialplan, perlu meng-edit file extension.conf
pada direktori /etc/bin/asterisk/extension.conf. contoh perintah memasukkan
ruang konferensi pada dialplan sebagai berikut :
[conf]
Exten=>300,1,MeetMe,1234(1111)
Pada perintah di atas, apabila penelepon men-dial 300 dan memasukan
PIN, maka penelepon tersebut akan masuk ke ruang konferensi. MeetMe akan
memberitahukan bunyi bel untuk memberitahukan kepada user lain yang sedang
berada pada ruang konferensi bahwa ada user lain yang masuk ke ruang
konferensi tersebut.
Ada beberapa perintah yang dapat di tambahkan pada aplikasi MeetMe
ini,seperti :
103
m : penelepon dapat mendengarkan tetapi tidak dapat berbicara.
t : penelepon dapat berbicara tetapi tidak dapat mendengar.
p : penelepon dapat keluar dari ruang konferensi dengan menekan
tombol #.
Sebagai contoh apabila ruang konferensi dibuat hanya memberikan
kesempatan bagi penelepon untuk mendengarkan pidato dari atasan tanpa bisa
memberikan interupsi terhadap pidato tersebut, yang harus dilakukan adalah
memasukkan perintah pada extension.conf sebagai berikut:
[conf]
Exten=>300,1,MeetMe,1234|m|1111
3.6.5
Interactive Voice Response (IVR)
Prinsip dasar dari semua sistem IVR secara umum yaitu, penelepon
mendengarkan sebuah menu dan memilih pilihan dari menu untuk melaksanakan
perintah, memasukkan informasi (dalam format nomor dengan menekan keypad).
Dalam Asterisk terdapat fitur IVR. Asterisk menyertakan file suara standart yang
dapat digunakan (terdapat di /etc/asterisk/). Contoh dialplan untuk IVR pada
extension.conf sebagai berikut:
exten => 30,1,Answer()
exten => 30,2,Background(marryme)
exten => 30,3,Hangup()
exten => 1,1,Playback(thank-you-cooperation)
exten => 1,2,Hangup()
exten => 2,1,Playback(sorry)
104
exten => 2,2,Hangup()
Jika penelpon men-dial extension 30, maka Asterisk menjawab dan
memutar file marryme.gsm. Penggunaan aplikasi background dimaksudkan agar
penelepon dapat memasukkan pilihan selama file marryme.gsm diputar. Jika
penelepon menekan 1, penelepon akan mendengar “Thank you for your
cooperation”. Setelah itu panggilan terputus. Apabila penelepon menekan 2,
penelepon akan mendengar “sorry”, setelah itu panggilan terputus.
Perbedaan yang mendasar antara playback() dan background() yaitu
playback() hanya memainkan file suara, penekanan tombol diabaikan. Sedangkan
background() memainkan file suara dan menerima penekanan tombol dari
penelpon, yang diterjemahkan sebagai extension.
Apabila penelepon menekan masukan yang salah (sembarang masukan
yang tidak terdapat kecocokan extension pada dialplan) dapat ditangani dengan
extension i. Contoh:
exten => 30,1,Answer()
exten => 30,2,Background(marryme)
exten => 30,3,Hangup()
exten => 1,1,Playback(thank-you-cooperation)
exten => 1,2,Hangup()
exten => i,1,Background(sorry)
exten => i,2,Hangup()
105
Apabila penelepon men-dial 30, kemudian menekan tombol sembarang
maka penelepon akan mendengar “sorry”, kemudian panggilan terputus. Berikut
diagram alir dari sebuah IVR :
Gambar 3.9 Diagram alir IVR
3.6.6
Panggilan ke jaringan GSM
Pada sistem yang dirancang dibuat menjadi dua kelompok extension,
dimana yang kelompok pertama adalah kelompok yang memiliki akses untuk
terhubung ke jaringan GSM dan kelompok yang satu lagi adalah kelompok yang
tidak memiliki akses untuk terhubung ke jaringan GSM. Berikut adalah diagram
alir sistem komunikasi antara user agent pada jaringan lokal ke jaringan GSM.
106
Gambar 3.10 Diagram alir komunikasi antar user agent dengan GSM
Gambar 3.10 merupakan diagram alir sistem komuikasi antara user agent
dengan jaringan GSM / PSTN, dimana hanya beberapa extension saja yang bisa
melakukan panggilan ke jaringan GSM yaitu 101-104 dan 301-304. Pada sisi
server Pusat, penekanan tombol diawali dengan 9888 + nomor tujuan untuk
komunikasi dengan durasi tak terbatas dan penekanan tombol dengan 9788 +
107
nomor tujuan untuk komunikasi dengan durasi pembicaraan selama 5 menit dan
1 menit terakhir akan diberi peringatan bahwa durasi panggilan hanya tersisa 1
menit lagi. Pada sisi server Cabang, penekanan tombol diawali dengan 9999 +
nomor tujuan untuk komunikasi dengan durasi tak terbatas dan penekanan
tombol dengan 9799 + nomor tujuan untuk komunikasi dengan durasi
pembicaraan selama 5 menit dan 1 menit terakhir akan diberi peringatan bahwa
durasi panggilan hanya tersisa 1 menit lagi. User agent pada kantor pusat juga
bisa berkomunikasi dengan jaringan GSM / PSTN yang berada di wilayah kantor
cabang dengan menekan nomor rahasia yang ada di server Cabang + nomor
tujuan dan begitu juga sebaliknya user agent dari kantor Cabang juga bisa
berkomunikasi dengan jaringan GSM / PSTN yang berada di wilayah kantor
Pusat.
Untuk membuat dialplan seperti ini bisa dibuat pada file extension.conf
dengan konfigurasi yaitu:
exten=>_9888.,1,Dial(SIP/${EXTEN:4}@110,30,t)
Dimana berarti jika men-dial nomor 988 dan beberapa nomor di
belakangnya maka 4 angka pertama akan dihilangkan dan hanya akan men-dial
angka-angka berikutnya saja untuk dihubungkan ke user agent 110
exten=>_9788.,1,Dial(SIP/${EXTEN:4}@110,30,tL(300000:60000))
108
Dimana berarti jika mendial nomor 978 dan beberapa nomor di
belakangnya maka 4 angka pertama akan dihilangkan dan hanya akan men-dial
angka-angka berikutnya saja untuk dihubungkan ke user agent 110 dan fungsi
L(300000:60000) berguna untuk membatasi panggilan hanya selama 300.000
detik (5 menit) dan 60000 berarti akan ada peringatan tentang sisa durasi
pembicaraan setelah 60.000 detik terakhir (1 menit).
Download