ASTERISK: open source PBX / IP PBX, SIP & IAX - Vavai

0 downloads 159 Views 640KB Size Report
membuat makin banyak yang mencoba mengimplementasikan VOIP, dengan tujuan utama meminimalkan biaya dan mendapatkan servi
ASTERISK: open source PBX / IP PBX, SIP & IAX

Mohammad Edwin Zakaria [email protected]

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 menggunakan RJ11, 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 indikasi kepada peralatan penyedia layanan telepon mengenai on-hook/off-hook

Telepon Rumah ●

Ketika anda menekan nomer maka sinyal dialtone yang dihasilkan (DTMF=dual-tone multifrequency) 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 2025 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. Lihat ITU Operational Bulletin no. 738 1.II.2003

Central Office (CO) Central Office (negara lain)

Central Office

Telepon

Telepon lokal

Telepon internasional Central Office (lain wilayah)

Telepon interlokal PSTN (public switched telephone network)

Operator selular

Telepon selular Interkoneksi ?

PBX (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) Voice Mail server

PBX

Voice Mail server

PBX

PSTN Telp

Telp

Telp

Telp

Telp

Telp

PBX (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



Direct Inward Dialing

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



TDM (Time-Division Multiplexing)

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 potonganpotongan, 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, sedangkan UDP melalui random high port

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 Medianthttp://www.audiocodes.com, Asterisk appliancehttp://digium.com; PC based card misalnya digium, sangomahttp://sangoma.com, rhinohttp://www.rhinoequipment.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 VOIP Internet

Aplikasi Teleponi

Asterisk

PSTN

Telepon

Asterisk ●



menghubungkan segala jenis telepon, ip-telepon, voip interface ke interface lainnya atau layanan melalui aplikasi Asterisk Sebagai middleware antara telepon dan aplikasi

ASTERISK

ASTERISK server SIP

PSTN

gateway pci-card

branch

ip phone

switch

ASTERISK IAX2

SIP

internet

SIP

switch

server

branch

IAX2

switch

server

ip phone

branch

ip phone

ASTERISK - 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



ACD

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 dahdilinux” Install juga paket mpg123, sox, libmad dan festival

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



'.' - menandakan akhir dari pattern matching

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



t : time out : apa yang dilakukan kalau timeout sudah lewat

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 BackGround: mainkan file audio ketika menunggu dtmf

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) exten => 7000,3,Hangup

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}) exten => _XXXX,104,Hangup()

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,Hangup

Asterisk - Conference ●

/etc/asterisk/meetme.conf [rooms] ;#include meetme_additional.conf conf => 5000 conf => 6000 conf => 7000

Asterisk – 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

PERTANYAAN DEMO

http://medwinz.blogsome.com [email protected] dent: medwinz twitter: medwinz