Tutorial Asterisk VII

23/07/08 15:46

Pernyataan include

Include adalah alat bantu yang sangat berguna untuk menyederhanakan dan mengatur dialplan yang lebih besar. Dengan menggunakan pernyataan include, kita dapat memasukkan context dalam context yang ada.

Penulisan
include => nama-dari-context-lain
Contoh:

[general]
[komunikasi]
include => internal
include => external
[internal]
exten => 2000,1,Dial(SIP/2000)
[external]
exten => 17005551212,1,Dial(SIP/5551212)

Urutan proses ketika menggunakan pernyataan include
Asterisk selalu melihat kecocokan dalam context saat itu terlebih dahulu sebelum mengacu pada context yang dimasukkan dengan include. Jika isian ditemukan, isian itu akan digunakan. Jika tidak ditemukan, Asterisk akan melihat yang isian yang cocok pada context pada include pertama, kemudian berikutnya, dan seterusnya. Dan memungkinkan juga untuk memakai include bersarang; yaitu, includes dalam includes.
Jika masih ragu-ragu, anda dapat memastikan isian apa yang digunakan Asterisk untuk menangani sebuah panggilan dengan memasukkan perintah dialplan show nomor@nama-context pada Asterisk CLI.
Catatan: Pengguna Asterisk 1.2 menggunakan show dialplan dan bukan dialplan show.
Beberapa contoh:

[general]
[komunikasi]
include => internal
include => external
[internal]
exten => 2000,1,Dial(SIP/2000)
[external]
exten => 17005551212,1,Dial(SIP/5551212)

Katakan kita ingin mengetahui bagaimana Asterisk menangani panggilan ke nomor 2000 dalam context komunikasi. Untuk melakukan hal tersebut, kita memasukkan dialplan show 2000@komunikasi dalam CLI:

*CLI> dialplan show 2000@komunikasi
[ Included context ‘internal’ created by ‘pbx_config’ ]
‘2000′ => 1. Dial(SIP/2000) [pbx_config] 
-= 1 extension (1 priority) in 1 context. =-
*CLI>

Jika kita memperluas context komunikasi menjadi seperti:

[general]
[komunikasi]
include => internal
include => external
exten => 2000,1,Answer()
exten => 2000,2,Playback(hello-world)
exten => 2000,3,Hangup()
[internal]
exten => 2000,1,Dial(SIP/2000)
[external]
exten => 17005551212,1,Dial(SIP/5551212)exten => 03012345678,1,Dial(SIP/03012345678)

Kita akan melihat keluaran CLI seperti berikut:

*CLI> dialplan show 2000@komunikasi
[ Context 'komunikasi' created by 'pbx_config' ]
'2000' => 1. Answer() [pbx_config]
2. Playback(hello-world) [pbx_config]
3. Hangup() [pbx_config]
[ Included context 'internal' created by 'pbx_config' ]
'2000' => 1. Dial(SIP/2000) [pbx_c
onfig]
-= 2 extensions (4 priorities) in 2 contexts. =-
*CLI>

Asterisk akan memainkan file suara hello-world sound dan tidak mengirim panggilan ke nomor 2000, meskipun pernyataan include ada di atas dalam dialplan. Hal ini karena Asterisk selalu melihat kecocokan pada context yang bersangkutan terlebih dahulu sebelum mengecek context yang dimasukkan.

Pernyataan include berdasarkan waktu
Sebuah pernyataan include dapat dibuat kondisi berdasarkan waktu atau hari. Ini akan membuat lebih mudah untuk mengimplementasikan aksi yang berbeda pada waktu yang berbeda.

Penulisan
include => context|<waktu>|<hari>|<hari-dari-bulan>|<bulan>
Hari dan bulan menggunakan tiga karakter pertama dari nama hari atau bulan. Contoh, nama hari menjadi mon, tue, wed, thu, fri, sat, sun, dan nama bulan menjadi jan, feb, mar, apr, dst. Waktu dalam format 24 jam.
Contoh:
Waktu kerja dimulai dari jam 7:00 a.m. sampai 4:00 p.m. untuk Senin sampai Jum’at, dan dari jam 7:00 a.m. sampai 12:00 p.m. pada hari sabtu. Dialplan akan menjadi seperti berikut:

include => masuk|07:00-16:00|mon-fri|*|*
include => masuk|07:00-12:00|sat|*|*
include => libur
[masuk]
exten => 2000,1,Dial(SIP/2000)
[libur]
exten => 2000,1,VoiceMail(2000,u)

dikirim oleh: M. Zudha Ghofur

Artikel Terkait

Tutorial Asterisk I
Memonitor Asterisk dengan SNMP
Tutorial Asterisk V

Komentar

    

Tentangku

Istri dan anakkuHidup sejenak dari M. Zudha Ghofur, Ayah dari Abhan dan Suami dari Netti. Bekerja di PPTIK UGM. Berusaha untuk menjadi yang terbaik bagi siapa saja

Kiriman Terakhir

Komentar Terbaru

Kategori

Sekitarku

Feed

XML