VoIP (Voice Over IP) - Part 2

Protocol Data VoIP

RTP
Real-Time Protocol (RTP) adalah protocol yang digunakan user voice. Tiap-tiap packet RTP berisi potongan packet dari voice conversation. Besarnya ukuran packet voice bergantung pada CODEC yang digunakan.

Susunan Protocol RTP
Diagram berikut memperlihatkan susunan protocol RTP.
Informasi RTP dienkapsulasi dalam packet UDP. Jika packet RTP hilang (lost) atau didrop di jaringan, maka RTP tidak akan melakukan retransmission (sesuai standard protocol UDP). Hal ini agar user tidak terlalu lama menunggu (long pause) atau delay, dikarenakan permintaan retransmission. Jaringan harus didesign sebaik mungkin agar lost packet tidak terjadi.

RTP Header
Header Frame RTP berisi informasi untuk mengidentifikasi dan memanage tiap individual call dari endpoint ke endpoint. Informasi ini adalah timestamp, sequence number, dan conversation synchronization.

Compressed RTP
Compressed Real-Time Protocol (cRTP) adalah variant dari RTP. Compressed RTP banyak meng”eliminate” packet header. Dengan mengeliminasi overhead, packet menjadi lebih efisien. System dengan cRTP dapat melakukan call 2 kali lebih banyak disbanding standard RTP


Issue cRTP, sama seperti jenis kompresi lain, yaitu membutuhkan proses lebih tinggi pada router (CPU Process). Router harus me-“recreate” tiap-tiap header packet yang masuk untuk dirouting ke jaringan ke voice gatway atau IP Phone.

RTCP
Real-Time Control Protocol (RTCP) adalah protocol data VoIP yang jarang digunakan. Protocol ini memungkinkan endpoint mengatur call secara realtime untuk meningkatkan kualitas voice. RTCP juga significant membantu troubleshooting voice stream. Alasan RTCP jarang digunakan, karena membutuhkan extra bandwidth untuk membawa RTCP stream ke tujuan.

CODEC
Banyak sekali jenis protocol voice CODEC (coder/decoder atau compression/decompression) yang tersedia untuk implementasi VoIP. Voice CODEC yang umum dikenal adalah : G.711, G.723, G.726, G.728, dan G.729. Berikut gambaran singkat tentang masing jenis CODEC di atas :

G.711 – Mengkonversi voice ke 64 kbps voice stream. CODEC ini digunakan pada traditional TDM T1 voice. The highest quality.
 
G.723.1 – Terdapat 2 type berbeda untuk compression G.723.1. Pertama menggunakan Code-Excited Linear Prediction (CELP) compression algorithm dan mempunyai bit rate 5.3 kbps. Type kedua menggunakan Multi Pulse-Maximum Likelihood Quantization MP-MLQ algorithm dan memiliki kualitas suara lebih bagus. Type ini mempunyai bit rate of 6.3 kbps.
 
G.726 – CODEC memiliki beberapa bit rate yang berbeda-beda, yaitu 40 kbps, 32 kbps, 24 kbps, dan 16 kbps. CODEC ini paling sesuai untuk interkoneksi ke PBX dengan bit rate 32 kbps.
 
G.728 – CODEC memiliki kualitas suara yang bagus dan spesifik di desain untuk low latency applications. CODEC ini mengkompress voice menjadi 16 kbps stream.
 
G.729 – CODEC ini adalah salah satu kodek berkualitas lebih baik (better voice quality CODEC). CODEC ini mengkonversi voice menjadi 8 kbps. Terdapat 2 versi yaitu G.729 dan G.729a. G.729a memiliki algoritma yang lebih sederhana dan membutuhkan processing power lebih sedikit dibandingkan G.729.

VoIP Per Call Bandwidth
Tabel berikut memperlihatkan kombinasi codec, payload size, Real-Time Transport Protocol (RTP) header compression dan voice activity detection (VAD). RTP header compression mengacu pada compressed Real-Time Transport Protocol (cRTP). Berikut asumsi yang dibuat untuk table di bawah:
  • Header IP/User Datagram Protocol (UDP)/RTP = 40 bytes.
  • RTP header compression mengurangi header IP/UDP/RTP sampai 2 atau 4 bytes.
Multilink Point-to-Point protocol (MLPPP) atau Frame Relay Forum (FRF.12) menambahkan 6 bytes pada layer 2 header. VAD diasumsikan mengurangi utilisasi sampai 65% dari full rate.

 Kita gunakan perhitungan sebagai berikut :

voice packet size = (Header layer 2 MLPPP atau FRF.12 header) + (IP/UDP/RTP) + (voice payload) voice packets per second (pps) = codec bit rate / voice payload size bandwidth = voice packet size * pps

Contoh kebutuhan bandwidth untuk G.729 call (8Kbps codec bit rate) dengan cRTP, MLPPP dan default 20 bytes of voice payload adalah:

voice packet size (bytes) = (MLPPP header of 6 bytes) + (compressed IP/UDP/RTP header of 2 bytes) + (voice payload of 20 bytes) = 28 bytes
voice packet size (bits) = (28 bytes) * 8 bits per byte = 224 bits
voice packets per second (pps) = (8Kbps codec Bit Rate ) / (160 bits) = 50 pps

Catatan:
160 bits = 20 bytes (default voice payload) * 8 (bits per byte)
bandwidth per call = voice packet size(224 bits) * 50 pps = 11.2 Kbps

 
Voice Activity Detection (VAD)
Voice conversation tertentu berisi 35-50 persen silence. Old World voice networks, semua voice call menggunakan fixed-bandwidth 64Kb tidak bergantung pada banyaknya conversation/percakapan dan silence. Dengan New World VoIP networks, semua conversation dan silence di packetized. Menggunakan VAD, packets of silence dapat di”suppress”, memungkinkan VoIP conversation jauh lebih efisien dalam penggunaan bandwidth.

Untuk Planning VoIP bandwidth, asumsikan VAD dapat me”reduce” bandwidth sampai 35 persen. Walaupun kenyataannya bisa lebih kecil dari actual reduction, hal ini untuk mengestimasi perbedaan pola dialec dan bahasa. VAD “enabled” by default untuk semua VoIP call dan menyediakan ComfortNoise-Generation (CNG).
G.729 Annex-B (contoh: g729br8) dan G.723.1 Annex-A (contoh: g723ar53 dan g723ar63) sudah berisi VAD (integrated VAD function)


Payload Sizes Packet VoIP
Dengan IOS release 12.0(5)T, telah dilengkapi fitur “default payload size” (in bytes) untuk packet VoIP dan dapat diubah menggunakan command line interface (CLI). Berikut syntax command :

Cisco-Router(config-dial-peer)#codec g729r8 bytes ?
Each codec sample produces 10 bytes of voice payload. Valid sizes are:
10, 20, 30, 40, 50, 60, 70, 80, 90, 100,110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210,220, 230
Any other value within the range will be rounded down to nearest valid size. <10-230> Choose a voice payload size from the list above


Contoh berikut menunjukkan bagimana penambahan voice payload dapat meminimalisasi VoIP bandwidth secara keseluruhan. Tetapi peningkatan VoIP payload ini , juga akan meningkatkan delay. Codec G.114, maximum end-to-end delay untuk packet voice adalah 150ms. Perhitungan menunjukkan bahwa ketika payload size dinaikkan 2 X lipat, pps akan berkurang menjadi setengahnya.

Dengan default payload size = 20 bytes:
G.729 call = (40 bytes of IP/UDP/RTP headers + 20 bytes payload)* 8 bits/byte * 50pps = 24Kbps per VoIP call

Dengan payload size = 40 bytes:
G.729 call = (40 bytes of IP/UDP/RTP headers + 40 bytes payload) * 8 bits/byte * 25pps = 16Kbps per VoIP call

Followers

Kunjungan



free counters