Anda di halaman 1dari 43

ASTERISK:

open source PBX / IP PBX,


SIP & IAX

Mohammad Edwin Zakaria


medwin@opensuse.org
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 dial-
tone yang dihasilkan (DTMF=dual-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.
● Lihat ITU Operational Bulletin no. 738 1.II.2003
Central Office (CO)

Central Office
Central Office
(negara lain)

Telepon Telepon
Telepon
lokal internasional

Central Office Operator selular


(lain wilayah)

Telepon Telepon
interlokal selular

PSTN (public switched telephone network) 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 Voice
Mail PBX PBX Mail
server server

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 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,
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
Mediant-
http://www.audiocodes.com,
Asterisk appliance-
http://digium.com; PC based
card misalnya digium, sangoma-
http://sangoma.com, rhino-
http://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

Aplikasi Teleponi VOIP


Internet

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

PSTN SIP
switch

gateway ip phone
pci-card branch
ASTERISK
IAX2 internet IAX2

SIP switch SIP switch

server server

ip phone ip phone
branch branch
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 dahdi-
linux”
● 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:0000@10.1.1.120/${EXTEN:1}@local)
exten => _1.,2,Hangup()

exten => _2.,1,Dial(IAX2/ygpabxsv:0000@10.7.1.120/${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:0000@10.1.1.120:4569
register => dppabxsv:0000@10.7.1.120:4569
register => jbpabxsv:0000@10.9.1.120: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
medwin@opensuse.org
dent: medwinz
twitter: medwinz

Anda mungkin juga menyukai