VoIP: Conference Server di Asterisk

From OnnoWiki
Jump to navigation Jump to search

Conference call biasanya sangat menyakitkan di sistem PABX - tentunya itupun jika kita dapat mengkonfigurasinya dengan baik. Fasilitas conferencing komersial biasanya mudah digunakan tapi sangat mahal. Kita cukup beruntung karena Asterisk menjadi penolong dan menyediakan fasilitas conferencing yang murah tapi dapat di konfigurasi dengan mudah.

Pada dasarnya ada dua (2) langkah yang perlu dilakukan untuk mengkonfigurasi conferencing di Asterisk, yaitu,

  • Membuat conference "room"
  • Menambahkan "room" ke dialplan.


Mengkonfigurasi Ruang Conference MeetMe

Ruang conference di Asterisk di konfigurasi di /etc/asterisk/meetme.conf. Semua conference room harus terdaftar dibawah header [rooms]. Sintaks yang digunakan untuk mengkonfigurasi conference room adalah

conf => conference_number[,pin][,adminpin]

Contoh setup sebuah room conference dengan nomor 2500, dengan PIN 1234:

[rooms]
conf => 2500,1234

Jika kita mengkonfigurasi beberapa room, ada baiknya diberi komentar / comment untuk mengingat nomor tersebut digunakan untuk conference siapa saja,

[rooms]
; tim marketing
conf => 2500,1234

; tim redaksi
conf => 2501,5678

Saat ini tidak terlalu banyak berguna untuk menset PIN administrator, karena tidak ada kekuatan khusus yang dimiliki seorang administrator.

Ada beberapa option yang dapat digunakan, seperti,

m 	- Penelepon dapat mendengarkan tapi tidak dapat berbicara.
t 	- Penelepon dapat berbicara tapi tidak dapat mendengarkan.
p 	- Penelepon dapat keluar dari Conference dengan menekan tombol #.

Ada dua (2) option tambahan yang belum di implementasikan, yaitu,

s 	- Asterisk menjalankan menu ke user jika * ditekan.
a 	- memberikan user hak administrator pada sebuah conference.

Mengkonfigurasi Dialplan Untuk Conference

Untuk mengkonfigurasi dialplan, kita perlu mengedit file /etc/asterisk/extensions.conf dan memasukan conference room yang kita inginkan ke dalamnya. Hal ini dapat dilakukan menggunakan context yang berbeda untuk setiap room, misalnya,

[konferensi_tim_marketing]
exten => 300,1,MeetMe,2500(1234)

[konferensi_tim_redaksi]
exten => 301,1,MeetMe,2501(5678)

Jadi penelepon hanya perlu menelepon nomor telepon 300 atau 301, memasukan PIN jika di tanya, dan mereka akan masuk ke conference. MeetMe akan memberikan bunyi bel untuk memberitahukan ke semua orang bahwa ada orang yang masuk.

Kita tentunya dapat mengumpulkan semua "room" conference dalam sebuah context. Atau menambahkan "room" conference ke context yang telah ada, seperti berikut,

[local-users]
exten => 250,1,Dial(SIP/alrac,10,r)
exten => 250,2,VoiceMail(u250@local-vm-users)
exten => 250,dial+101,VoiceMail(b250@local-vm-users)

exten => 300,1,MeetMe,2500(1234)

Atau menambahkan seluruh context, misalnya,

include => konferensi_tim_marketing

Jika, sekiranya, conference yang dibuat memberikan kesempatan bagi penelepon untuk mendengarkan pidato inspirasional dari Boss, tanpa melakukan interrupsi terhadap pidato inspirasional tersebut. Maka yang perlu dilakukan adalah sebagai berikut

[konferensi_tim_marketing]
exten => 300,1,MeetMe,2500|m|1234

Penelepon yang bary masuk dapat mengetahui berapa orang yang ada di konferensi menggunakan aplikasi MeetMeCount dengan program sebagai berikut

[konferensi_tim_marketing]
exten => 300,1,Playback(there_are)
exten => 300,2,MeetMeCount,2500
exten => 300,3,Playback(callers)
exten => 300,4,MeetMe,2500

Tentunya anda perlu merekam dua file suara yang kira-kira berbunyi "There are" dan "callers present in the conference".

Setelah mengedit extensions.conf, jangan lupa untuk reload konfigurasi yang baru. Supaya tidak terjadi gangguan dalam operasional, kita dapat menjalankan asterisk console dan menjalankan perintah

# asterisk -r
asterisk1*CLI> extensions reload

Mengaktifkan Konferensi Sambil Beroperasi

Salah satu kebutuhan yang mungkin timbul adalah menset room konferensi secara mendadak untuk satu kali saja. Untuk keperluan ini, kemungkinan kita tidak akan mengubah file extensions.conf dan memang kita tidak perlu melakukan hal tersebut. Tentunya kita perlu menset conference context yang sifatnya general di file meetme.conf dan extensions.conf, sehingg

;meetme.conf
[rooms]
;general-purpose conference room
conf => 3500,1234

;extensions.conf
;generic conference room
[gen_conference]

Jika kita perlu menset conference baru, dapat dibuat mendadak melalui CLI, sebagai berikut

localhost*CLI> add extension 400,1,Dial,3500 into gen_conference
Extension '400,1,Dial,3500' added into 'gen_conference' context

Disini akan menambahkan extension 400 dengan prioritas 1 ke gen_conference. Tentunya extension ini akan hilang jika kita me-restart asterisk, atau kita dapat mendelete melalui perintah

localhost*CLI> remove extension 400@gen_conference
Whole extension 400@gen_conference removed

Pada extension multi-line, kita dapat menentukan satu line / perintah yang akan dihilangkan dengan memberikan nama prioritasnya, misalnya

localhost*CLI>remove extension 400@gen_conference 2
Extension 400@gen_conference with priority 2 removed


Pranala Menarik