ASTERISK:
open source PBX / IP PBX,
SIP & IAX
POTS (Plain Old Telephone Service)
● Ini adalah sistem telepon yang
digunakan oleh sebagian besar rumah/kantor
● Suara dimodulasi dengan
perubahan arus pada jaringan telepon.
● Analog service dimana tegangan
(48 V DC) dialirkan ke pesawat telepon
● Hampir semua jaringan PSTN
(Public Switch Telephone Network) saat ini adalah digital. Hanya last mile yang menggunakan copper wire analog.
POTS (Plain Old Telephone Service)
● Kebanyakan telepon rumah menggunakanRJ11, kabel 2 pasang. Walaupun yang
digunakan hanya 1 pasang, yaitu kabel ke-2 dan ke-3
● FXS = Foreign eXchange Subscriber, plug
telepon di dinding yang mengarah ke
peralatan pelanggan. Harus dihubungkan ke telepon, faks atau modem. FXS memberikan: nada panggil (dial tone), arus listrik/baterai, voltase dering (ring voltage) kepada peralatan pelanggan
● FXO = Foreign eXchange Office, antarmuka
pada peralatan pelanggan yang harus dihubungkan ke FXS. FXO memberikan
Telepon Rumah
● Ketika anda menekan nomer maka sinyal dial-tone yang dihasilkan (DTMF=dual-dial-tone multi-frequency) akan dibawa oleh kabel ke
perangkat berikutnya. Biasanya sinyal dari beberapa POTS akan digabungkan pada
jaringan digital E1/T1/dsb lalu di-digitize dan dikirim ke switching di kantor telepon (Central Office). Perangkat switch akan menentukan langkah selanjutnya dari sinyal tersebut.
Digitasi sinyal analog biasanya dilakukan dengan melakukan
sampling 8 kHz menggunakan 8-bit PCM (pulse code modulation), yang disebut dengan CODEC G.711
Telepon Rumah
● Ketika sebuah panggilan menuju telpon rumah, maka pada suatu tempat di mana jalur telepon menjadi analog diterapkan peninggian voltase biasanya antara 60-90 V AC ~ 30 mA pada 20-25 Hz. Pesawat telepon mengenali sinyal ini dengan dibunyikannya ring panggilan masuk. Ring kadensa ditentukan dengan lamanya
voltase dikenakan pada setiap jalur. Terdapat ring kadensa standar bagi setiap negara yang diatur oleh ITU.
Central Office (CO)
Telepon Central Office Telepon lokal Telepon interlokal Telepon internasional Central Office (lain wilayah) Central Office (negara lain) Operator selular Telepon selularPBX (Private Branch eXchange)
● Sering digunakan di
perkantoran
● PBX sistem akan
mengatur routing dari panggilan telepon
seperti yang dilakukan oleh central office
PBX (Private Branch eXchange)
● PBX menerapkan berbagai aturan yang apabila dilakukan saat melakukan panggilan dapat
menentukan apa yang akan dilakukan terhadap suatu panggilan. Misalnya apabila menekan no extension panggilan tidak akan dilempar keluar dari PBX, apabila menekan 9 maka panggilan akan mengambil jalur keluar yang kosong dst.
PBX (Private Branch eXchange)
PBX Voice Mail server Telp Telp Telp PSTN PBX VoiceMail server Telp Telp TelpPBX (Private Branch eXchange)
● Beberapa hal yang juga ditawarkan oleh PBX :
● Auto Attendant (tekan 1 untuk sales dst) ● Automatic Call Distribution (ACD)
● Interactive Voice Response (IVR) ● Call waiting
● Conference call
Telepon
● Sirkuit : POTS, ISDN (PRI, BRI)
● Sinyal DTMF
● Protokol pembawa (bearer protocol) atau CODEC
hanya G.711 64 kbps
● CODEC – Compressor/DECompressor
● FXS atau FXO
● PBX
VOIP (voice over internet protocol)
● Dengan tersedianya jaringan internet kapasitas
besar saat ini, jaringan tersebut dapat digunakan untuk menggantikan/melengkapi jalur transmisi telepon.
● VOIP juga dapat digunakan untuk menggantikan
jaringan telepon konvensional antara kantor pusat dengan kantor cabang memanfaatkan jaringan data atau internet
● Kelompok perseorangan juga dapat membuat
jaringan VOIP dengan mem-bypass PSTN dan melakukan routing terhadap panggilan secara langsung melalui LAN, WAN atau internet
VOIP (voice over internet protocol)
● VOIP adalah kemampuan untuk men-sampling suara, mempaketkannya dalam
potongan-potongan, dan mentransmisikannya melalui jaringan IP.
● Trafik VOIP dibagi dalam dua bentuk transmisi, signaling dan RTP. Signaling adalah TCP
based, sedangkan RTP adalah UDP based
● Signaling dilakukan melalui port standar yang umum seperti H.323:1720 dan SIP:5060,
VOIP (voice over internet protocol)
● VOIP bukanlah sesuatu yang baru bahkan contoh-contohnya sebenarnya sudah agak “basi”
● Skype
● Radio streaming
● Dengan makin murahnya harga bandwidth membuat makin banyak yang mencoba
mengimplementasikan VOIP, dengan tujuan utama meminimalkan biaya dan mendapatkan service yang lebih baik.
VOIP (voice over internet protocol)
● VOIP adalah paket data yang di routing ● Protokol sinyaling VOIP: H.323, SIP, IAX,
MGCP, Cisco Skinny (TCP based)
● Protokol pembawa/CODEC: G.711, G.723, G.726, G.729, GSM, Speex .. dikirim dengan RTP (real time protocol) menggunakan UDP datagram (stream packet suara)
● Tidak ada device FXO ● PBX software
VOIP Sinyaling
● H.323 adalah standar ITU untuk komunikasi
multimedia melalui jaringan paket meliputi LAN, WAN, internet. Merupakan binary stream based protocol yang mengakibatkan interoperability
antar vendor agak susah, karena implementasinya berbeda-beda
● SIP merupakan standar IETF untuk hubungan multimedia. SIP signaling mirip dengan standar HTTP, sehingga membuat interoperabilitas anta vendor cukup tinggi.
VOIP Sinyaling
● Untuk hubungan antar Asterisk digunakan sinyaling khusus (proprietary) yang disebut IAX2 (Inter Asterisk eXchange). Beberapa keunggulan IAX:
● Overhead rendah (4 bytes header
dibandingkan minimal 12 bytes pada SIP dan H323)
● Transparan dengan SNAT
● Efisien per kbps ratio (trunking support) Memanfaatkan dialplan Asterisk
VOIP Hardware
● Server
● Gateway (appliance based atau pc-based). Appliance misalnya Mediant-
http://www.audiocodes.com,
Asterisk
appliance-http://digium.com; PC based
card misalnya digium,
sangoma-http://sangoma.com,
VOIP Hardware
● SIP Client
● Hardware ip phone: Grandstream, aastra, Polycom, Linksys, Cisco dll
● Software ip phone (softphone): x-lite (Windows), Kphone, Linphone, Twinkle
ASTERISK
● Asterisk adalah sebuah software hybrid TDM dan PBX packet-voice yang memiliki platform IVR dan ACD dengan kode sumber terbuka
● Asterisk berlisensi GPL dan non-GPL dan ditulis dengan C
ASTERISK
Asterisk PSTN Telepon VOIP Internet Aplikasi Teleponi Asterisk● menghubungkan segala jenis telepon, ip-telepon, voip interface ke
ASTERISK
PSTN server switch ip phone gateway SIPASTERISK
server switch ip phone SIP branch server switch ip phone SIP branch internet IAX2 IAX2ASTERISK - PBX
● Support VOIP, Analog and Digital channel ● Fitur standar PBX seperti:
● 3 way calling
● Caller ID + Call Waiting ● Call Waiting
● Fitur lanjutan seperti:
● Voicemail
● Conferencing ● IVR
Instalasi Asterisk
● Versi yang masih disupport adalah 1.4, 1.6 dan 1.8 ● Download tarball dari
http://www.asterisk.org/downloads
● AsteriskNOW adalah asterisk yang dipaketkan
dengan CentOS dan FreePBX, sebuah antarmuka grafis untuk Asterisk
● Install dari repositori distribusi, untuk openSUSE
dari
http://download.opensuse.org/repositories/network :/telephony:/asterisk/
Instalasi Asterisk
● Selalu usahakan menggunakan hardware yang
memiliki hardware echo cancelation
● Untuk pengguna Digium card juga harus
mendownload DAHDI (digium asterisk hardware device interface) modul
● Seringkali DAHDI baru sempurna dengan
mendownload dari trunk: “svn co
http://svn.digium.com/svn/dahdi/linux/trunk dahdi-linux”
Dukungan Codec pada Asterisk
● CODEC yang disupport
Codec G.729 juga disupport dengan membeli lisensinya, sedangkan Codec G.723.1 hanya bisa dilewatkan saja
Asterisk Dialplan
● Dialplan adalah inti dari instalasi Asterisk ● /etc/asterisk/extensions.conf
● Semua panggilan di-routing melalui Asterisk ● Terdiri dari extension contexts
● Context adalah group dari extension ● Context dapat saling digabungkan
● Setiap langkah dalam dialplan adalah sebuah aplikasi ● Prioritas harus diberikan terhadap setiap langkah
Asterisk - Dialplan
● Exten => Name,Priority,Application(,arguments) ● Sebarang bilangan (max 128)
● Jika dimulai dengan '_” merupakan pattern match, mis:
● 'N' – match digit dari 2 sampai 9 ● 'X' – match digit dari 0 sampai 9
Asterisk - Dialplan
● Extensi standar ● i : invalid ● s : start ● h : hangup ● t : timeout ● T : absolute timeout ● a : asterisk extension ● o : operator● Yang biasanya sering digunakan adalah:
● s : start : apa yang harus dilakukan oleh asterisk kalau ada incoming call
● i : invalid entry : apa yang dilakukan kalau entry yang dimasukkan salah
Asterisk - Dialplan
● Ada puluhan aplikasi yang dapat dipanggil melalui dialplan, antara lain:
VoiceMail : masuk ke sistem voicemail MeetMe: konferensi
MusicOnHold: Mainkan musik ketika hold Monitor: Rekam percakapan
Festival: katakan teks ke user Dial: lakukan panggilan
Answer: menjawab panggilan
Asterisk Dialplan
● Context ditandai dengan […]● [incoming] ... exten => _XXXX,1,Answer exten => _XXXX,2,Dial(SIP/${EXTEN},${RINGDELAY},t) exten => _XXXX,3,Voicemail(${EXTEN}@default,u) exten => _XXXX,4,Hangup() exten => _XXXX,103,Voicemail(${EXTEN}@default,b) exten => _XXXX,104,Hangup
Asterisk Dialplan
[incoming] ...
exten => 5000,1,Set(CHANNEL(language)=en) ; conference 1 exten => 5000,2,Meetme(5000)
exten => 5000,3,Hangup
exten => 6000,1,Set(CHANNEL(language)=en) ; conference 2 exten => 6000,2,Meetme(6000)
exten => 6000,3,Hangup
exten => 7000,1,Set(CHANNEL(language)=en) ; conference 3 exten => 7000,2,Meetme(7000)
Asterisk Dialplan
[internal-fxo] ... exten => s,1,Answer exten => s,2,Wait(1) exten => s,3,Background(en/autoattendant) exten => s,4,WaitExten(2) exten => 5000,1,MeetMe(5000) exten => 6000,1,MeetMe(6000) exten => 7000,1,MeetMe(7000) exten => _XXXX,1,Monitor(wav,Call-${CALLERID(num)}-${EXTEN}-${STRFTIME(${EPOCH},, %Y%m%d-%H%M%S)},m) exten => _XXXX,2,Dial(SIP/${EXTEN},${RINGDELAY},t) exten => _XXXX,3,Voicemail(su${EXTEN}) exten => _XXXX,4,Hangup() exten => _XXXX,103,Voicemail(sb${EXTEN})Asterisk Dialplan
[internal-sip] exten => _1.,1,Dial(IAX2/ygpabxsv:[email protected]/${EXTEN:1}@local) exten => _1.,2,Hangup() exten => _2.,1,Dial(IAX2/ygpabxsv:[email protected]/${EXTEN:1}@local) exten => _2.,2,Hangup() ;;GSM call to Telkomsel/HALO exten => _000811.,1,Monitor(wav,Call-${CALLERID(num)}-${EXTEN:2}-$ {STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)},m) exten => _000811.,2,Dial(SIP/9031/${EXTEN:1}) exten => _000811.,3,HangupAsterisk - Conference
● /etc/asterisk/meetme.conf [rooms] ;#include meetme_additional.conf conf => 5000 conf => 6000 conf => 7000Asterisk – NAT Traversal
● Ada sedikit masalah dengan NAT, baik bagi SIP dan H323
● Hal ini disebabkan karena kedua protokol
bergantung kepada alokasi port dinamis untuk transmisi RTP (voice)
● 95% network untuk kantor dan rumah di dunia adalah NAT
Asterisk – NAT Traversal
● Gunakan SIP dan buatlah statik NAT
● Bukalah port TCP 5060 dan high port UDP (1024 – 65534)
● Set ip publik pada sip.conf misalnya: [general]
port = 5060
extenip = 202.123.234.20 context = default
Asterisk – NAT Traversal
● Jika men-setup Asterisk untuk banyak kantor cabang
buatlah VPN dan buat VLAN yang memisahkan data dan suara. ● Contoh sip.conf: [general] port = 5060 bindaddr = 10.8.1.120 disallow=all allow=all allow=ulaw allow=gsm context=internal-sip
Asterisk – IAX2
● Untuk komunikasi antar Asterisk PBX gunakan IAX2 ● Contoh sip.conf: [general] bindport=4569 bindaddr=10.8.1.120 ... register => ncpabxsv:[email protected]:4569 register => dppabxsv:[email protected]:4569 register => jbpabxsv:[email protected]:4569
Kritik untuk Asterisk
● Ada beberapa kritik yang dilancarkan terhadap
Asterisk
● Asterisk berusaha menggantikan tradisional
PBX sehingga programnya menjadi besar
● Threadingnya masih menggunakan model lama
● Beberapa “pesaing/alternatif” Asterisk adalah
FreeSWITCH (http://www.freeswitch.org) yang
merupakan multi-protocol softswitch seperti halnya Asterisk dan sipXecs
(http://www.sipfoundry.org) yang hanya mendukung SIP