Saturday, November 4, 2017

SIP 3: B2BUA, SIP Proxy

Secara umum dalam komunikasi SIP, komunikasi dilakukan oleh UA (User Agent). Sebuah IP Phone maupun Server memiliki dua jenis UA:
1. UAC (User Agent Client) untuk menginisiasi komunikasi / mengirim Request
2. UAS (User Agent Client) melakukan listening pada UDP/TCP port, menerima Request, memproses, dan me Respon Request.

SIP Server dapat bekerja dalam beberapa mode:

1. Registrar

Dalam hal ini SIP server akan mengautentikasi semua SIP Client, untuk terdaftar pada SIP server tsb. Contoh program aplikasi yang memiliki fungsi dasar ini: Asterisk, Opensips, dll



2. B2BUA (Back to Back User Agent)

Dalam hal ini SIP Server berfungsi sebagai mediation server. Mediation artinya berada di tengah-tengah. Contoh implementasi nya adalah Asterisk trunk ke server lain, atau implementasi SBC (Session Border Control) pada operator PSTN.



Pada diagram diatas Alice berada di private network (10.x.x.x), sedangkan Boris berada di public network (202.147.x.x). Alice dan Boris networknya unroutable. Tapi karena ada Server yang punya 2 kaki (kaki private ke arah Alice dan kaki public ke arah Boris), maka komunikasi suara dapat terjadi.

Bisa juga Boris ada di private network, dan terhubug ke internet menggunakan NAT. Dalam hal ini dari sisi server B2BUA, Boris tetap dianggap pakai IP public, karena saat Boris pertama kali ON, dia akan register ke kaki public B2BUA, dengan sebelumnya di NAT dulu oleh NAT dari IP private ke IP public.



3. Proxy

SIP server dapat bekarja dalam mode Proxy. Mode Proxy ini sebenarnya mirip denga mode B2BUA tapi Media (RTP) dilakukan tidak melalui Proxy. Mode proxy ini digunakan karena saat komunikasi suara Media (RTP) berlangsung, anggap server Proxy hang maka komunikasi suara tetap bisa berlanjut. Berbeda dengan B2BUA, maka selama signallin dan selama Media (RTP) terjadi (selama pembicaran berlangsung) maka B2BUA server harus selalu functional. Sebab kalau B2BUA down maka komunikasi suara akan putus juga.

4. Redirect

SIP server juga dapat berfungsi dalam mode redirect. Saat UA melewatkan call ke Server SIP, maka server akan me-redirect call tsb ke Proxy atau ke B2BUA server lain.

                  

Terlihat bahwa karena yang melayani adalah Proxy, maka saat pembicaraan terjadi maka Alice dan Boris paket Media (RTP) nya langsung, tanpa ada broker lagi di tengah-tengah.

Sebenarnya Redirect mirip dengan Proxy, dimana bekerja dalam konteks signalling.

Lalu apa guna Proxy? 

Terlihat bahwa karena signalling "dicegat" oleh Proxy, maka dapat ditambahkan fungsi-fungsi tambahan (value Added) disini seperti:
o Cek Saldo, jika sistem prabayar
o Redirect ke sistem lain (spt IVR)
o Load Balancer ke arah SIP Server (B2BUA) di belakang proxy sehingga system jadi HA
o dan lainnya

No comments: