3. SIP, Session Initiation Protocol
SIP adalah :
protokol call setup yang beroperasi pada layer aplikasi OSI
Digunakan untuk memulai, mempertahankan, dan mengakhiri sesi
komukasi antar user
Komunikasi dapat berupa voice, video, chat, interactive games, dll.
Tipikal nomor port : 5060
RFC 2543 (http://www.faqs.org/rfcs/rfc2543.html
3
5. Komponen SIP: User Agent
Komponen SIP yang memulai, menerima dan menutup sesi
komunikasi
User Agent terdiri dari 2 komponen utama yaitu:
User Agent Client (UAC)
Komponen yang memulai sesi komunikasi
User Agent Server (UAS)
Komponen yang menerima atau menanggapi sesi komunikasi
Baik UAC ataupun UAS dapat menutup sesi komunikasi
User agent dapat berupa software (softphone) ataupun
hardware (hardphone)
5
7. User Agent
IP Phone
Berbentuk seperti telepon biasa, terhubung
langsung ke jaringan IP (tidak melalui
perangkat lain)
USB Phone
Berbentuk seperti telepon genggam,
menggunakan kabel dan terhubung ke PC
melalui port USB
Analog Telephone Adaptor (ATA)
7
8. Komponen SIP: Proxy
Komponen penengah antar user agent, bertindak sebagai
server dan client yang menerima request message dari user
agent dan menyampaikan pada user agent lainnya
Request dapat dilayani sendiri atau disampaikan (forward)
pada proxy lain atau server lain
Menerjemahkan dan/atau menulis ulang request message
sebelum menyampaikan pada user agent tujuan atau proxy
lain
Proxy server menyimpan state sesi komunikasi antara UAC
dan UAS
8
9. Proses Koneksi dengan SIP Proxy
proxy server
Prosedur pemutusan :
1. Pesan request BYE dikirimkan ke proxy server
2. Pesan request diteruskan proxy server ke called
3. Pesan respon 200 K dikirimkan dari called ke proxy server
4. Pesan respon diteruskan proxy server ke caller dan komunikasi berakhir
9
10. Proxy
Softswitch
Open Source
>Asterisk (http://www.asterisk.org)
>OpenSER (http://www.openser.org)
>SER (http://www.iptel.org/ser/)
>Yate (http://yate.null.ro)
Non Open Source
>Axon (http://www.nch.com.au/pbx/)
>OnDO SIP Server (http://www.brekeke.com)
10
11. Komponen SIP: Redirect Server
Komponen yang menerima request message dari user agent,
memetakan alamat SIP user agent atau proxy tujuan kemudian
menyampaikan hasil pemetaan kembali pada user agent
pengirim (UAC)
Redirect Server tidak menyimpan state sesi komunikasi antara
UAC dan UAS setelah pemetaan disampaikan pada UAC
Tidak seperti proxy server, redirect server tidak dapat memulai
inisiasi request message
Tidak seperti UAS, redirect server tidak dapat menerima dan
menutup sesi komunikasi
11
12. Proses Koneksi dengan Redirect Server
Prosedur pemutusan hubungan pada redirect server
1. Pesan request BYE dikirmkan ke called
2. Pesan respon 200 OK dikirimkan ke caller maka komunikasi berakhir
12
13. Komponen SIP: Registrar Server
Komponen yang menerima request message
REGISTER
Registrar dapat menambahkan fungsi otentikasi user
untuk validasi
Registrar menyimpan database user untuk otentikasi
dan lokasi sebenarnya (berupa IP dan port) agar user
agar yang terdaftar dapat dihubungi oleh komponen
SIP lainnya (berfungsi sebagai Location Server juga)
Komponen ini biasa disandingkan dengan Proxy
Server
13
14. SIP Server
Contoh aplikasi SIP yang dapat berfungsi sebagai
server baik proxy, redirect maupun registrar server
Asterisk (http://www.asterisk.org)
OnDo Brekeke (http://www.brekeke.com)
partysip (http://www.partysip.org)
SER, SIP Express Router (http://iptel.org/ser)
siproxd (http://siproxd.sourceforge.net)
14
15. Pengalamatan SIP
Setiap komponen SIP mempunyai alamat SIP (SIP
address)
Format alamat SIP:
[sip:]<username@host>
Contoh:
sip:midatraining@voiprakyat.or.id
sip:20001@voiprakyat.or.id
901@voiprakyat.or.id
15
16. SIP Request
INVITE
Mengundang user agent lain untuk bergabung dalam sesi komunikasi
ACK
Konfirmasi bahwa user agent telah menerima pesan terakhir dari serangkaian
pesan INVITE
BYE
Mengakhiri sesi
CANCEL
Membatalkan INVITE
REGISTER
Registrasi di Registrar Server
OPTIONS
Meminta informasi tentang kemampuan server
INFO
Digunakan untuk membawa pesan informasi lainnya, seperti informasi inline
DTMF
16
17. SIP Response
Kode untuk SIP RESPON :
Informational = "100" ;
Trying
| "180" ;
Ringing
| "181" ;
Call Is Being Forwarded
| "182" ;
Queued (temporarily unavailable,
server has decided to queue the call)
| 183 ; Session Progress
Success = "200" ; OK
Redirection = "300" ; Multiple Choices
| "301" ; Moved Permanently
| "302" ; Moved Temporarily
| "303" ; See Other
| "305" ; Use Proxy
| "380" ; Alternative Service
17
18. SIP Response Code
Client-Error = "400" ; Bad Request
| "401" ; Unauthorized
| "402" ; Payment Required
| "403" ; Forbidden
| "404" ; Not Found
| "405" ; Method Not Allowed
| "406" ; Not Acceptable
| "407" ; Proxy Authentication Required
| "408" ; Request Timeout
| "409" ; Conflict
| "410" ; Gone
| "413" ; Request Entity Too Large
| "414" ; Request-URI Too Large
| "415" ; Unsupported Media Type
| "416" ; Unsupported URI Scheme
| "420" ; Bad Extension
18
19. Response Code
| "421" ; Extension Required
| "423" ; Interval Too Brief
| "480" ; Temporarily not available
| "481" ; Call Leg/Transaction Does Not Exist
| "482" ; Loop Detected
| "483" ; Too Many Hops
| "484" ; Address Incomplete
| "485" ; Ambiguous
| "486" ; Busy Here
| "487" ; Request Terminated
| "488" ; Not Acceptable Here
| "491" ; Request Pending
| "493" ; Undecipherable
19
20. Response Code
Server-Error = "500" ; Internal Server Error
| "501" ; Not Implemented
| "502" ; Bad Gateway
| "503" ; Service Unavailable
| "504" ; Server Time-out
| "505" ; Version not supported
| "513" ; Message To Large
Global-Failure = "600" ; Busy Everywhere
| "603" ; Decline
| "604" ; Does not exist anywhere
| "606" ; Not Acceptable
20
21. SIP Header
Header SIP sangat mirip dengan HTTP dan SMTP
Contoh:
INVITE sip:20006@202.154.179.69 SIP/2.0
Via: SIP/2.0/UDP 202.137.12.237:5060
From: sip:20014@202.137.122.237
To: <sip:20006@202.154.179.69>
Call-ID: c2943000-e0563-2a1ce-2e323931@202.137.12.237
CSeq: 100 INVITE
Expires: 180
User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled
Accept: application/sdp
Contact: sip:20014@202.137.12.237:5060
Content-Type: application/sdp
21
23. SDP (Session Description Protocol)
SDP didefinisikan pada IETF RFC2327.
Fungsi SDP :
memberikan deskripsi tentang sesi multimedia yang
dikehendaki, meliputi antara lain informasi kontak serta jenis
enkode audio dan video
SDP Mencakup :
Protokol Transport (RTP/UDP/IP)
Tipe media (text, audio, video)
Format Media atau codec (H.261 video, g.711 audio, etc.)
23
24. Implementator SIP
ITSP, Internet Telephony Service Provider
Contoh di negara lain:
FWD, Free World Dialup (http://www.freeworldialup.com/)
IPTel (http://iptel.org/)
SIP Phone (http://www.sipphone.com/)
Lainnya dapat anda lihat di situs berikut:
http://www.voip-info.org/wiki-VOIP+Service+Providers
Contoh di dalam negeri:
VoIP Rakyat (http://www.voiprakyat.or.id)
CUG (Closed User Group)
24
25. Mengapa SIP
Implementasi mudah
Membangun jaringan VoIP berbasiskan komponen-
komponen SIP relatif lebih mudah
Software mudah diperoleh dan status produksinya
setara dengan komersil
Terbukti bekerja cukup baik untuk beberapa ITSP
Software berlisensi opensource
Mudah menambahkan fitur-fitur baru dan/atau integrasi
dengan dengan layanan lainnya seperti Free eMail
NAT Traversal
Mampu bekerja untuk user agent yang berada dibelakang
NATatau common firewall dengan relatif mudah
25