Setiap panggilan SIP yang berhasil mengikuti urutan pesan yang sama: INVITE, jawaban sementara, 200 OK, ACK, lalu BYE saat panggilan diakhiri. Memahami urutan ini membuat kamu bisa membaca log SIP dan langsung tahu di tahap mana sebuah panggilan bermasalah.
Artikel ini membahas urutan pesan itu satu tahap demi satu tahap. Kalau kamu belum familiar dengan SIP dan bedanya dengan RTP, baca dulu Di Balik Panggilan VoIP yang Lancar, Ada SIP yang Mengatur Jalannya Komunikasi. Untuk gambaran alur panggilan masuk dan keluar dari sisi PBX dan provider, lihat Memahami Alur Panggilan Masuk dan Keluar dalam Teknologi SIP Trunk.
Gambaran Singkat: Tujuh Pesan, Satu Panggilan
alur panggilan SIP sukses · 7 pesan SIP + RTP
Panggilan yang berhasil memakai tujuh pesan SIP, dan suara baru mengalir lewat RTP setelah ACK sampai BYE. Bagian berikut membahas tiap pesan secara berurutan.
1. INVITE: Permintaan Memulai Panggilan
INVITE adalah pesan yang membuka panggilan. Penelepon, entah IP phone, softphone, atau PBX, mengirimkannya ke server tujuan dengan maksud: “Saya ingin menghubungi nomor ini, dan begini cara saya bisa menerima suaranya.”
Pesan ini terdiri dari header dan, biasanya, deskripsi sesi berformat SDP. Header yang paling sering dibaca saat troubleshooting:
- Request line: nomor atau alamat tujuan, misalnya sip:[email protected].
- Via: jalur yang dilalui pesan, beserta kode branch yang menandai satu transaksi.
- From dan To: pengirim dan tujuan. From membawa tag unik dari penelepon.
- Call-ID: pengenal unik panggilan, sama dari INVITE sampai BYE.
- CSeq: nomor urut permintaan beserta nama metodenya.
- Contact: alamat tempat pihak lawan mengirim pesan berikutnya ke penelepon.
SDP di dalam INVITE berfungsi sebagai penawaran (offer): alamat IP dan port tempat penelepon siap menerima suara, plus daftar codec yang didukung. SDP hanya menyepakati di mana dan dengan format apa suara dikirim, bukan membawa suaranya. Cara kerja RTP dan codec sendiri sudah dibahas di Suara Telepon Internet Putus-putus? Ini Penjelasan RTP dan Codec.
Berikut contoh INVITE yang disederhanakan. Alamat 192.0.2.10 adalah alamat khusus untuk contoh dokumentasi.
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.0.2.10:5060;branch=z9hG4bKk3p8x21
Max-Forwards: 70
From: “Rina” <sip:[email protected]>;tag=7f3a91c2
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
2. 100 Trying, 180 Ringing, dan 183: Jawaban Sementara
Setelah INVITE diterima, server tujuan tidak langsung menjawab ya atau tidak. Ia mengirim respons sementara (kode 1xx) supaya penelepon tahu apa yang sedang terjadi.
| Kode | Artinya | Efek yang terasa |
| 100 Trying | INVITE sudah diterima dan sedang diproses | Penelepon berhenti mengirim ulang INVITE |
| 180 Ringing | Telepon tujuan sedang berdering | Penelepon biasanya mendengar nada sambung |
| 183 Session Progress | Sesi sedang disiapkan, sering disertai SDP | Suara bisa mengalir sebelum dijawab, misalnya nada tunggu atau pengumuman dari jaringan |
Ada dua hal yang sering membingungkan. Pertama, 100 Trying dikirim oleh setiap server yang dilewati, jadi bukan bukti bahwa telepon tujuan sudah menerima panggilan. Kedua, tidak semua panggilan melewati ketiganya. Panggilan ke IVR, misalnya, bisa langsung dijawab dengan 200 OK.
3. 200 OK: Panggilan Dijawab
Saat penerima mengangkat telepon, ia mengirim 200 OK, respons akhir yang berhasil untuk INVITE. Isinya membawa jawaban SDP (answer): codec yang dipilih dari daftar penawaran, serta IP dan port tempat penerima siap menerima suara. Setelah ini kedua pihak tahu ke mana dan dalam format apa suara harus dikirim.
Pada tahap ini juga terbentuk dialog. Penerima menambahkan tag di header To, sehingga kombinasi Call-ID, tag From, dan tag To menjadi identitas panggilan itu sampai selesai.
4. ACK: Konfirmasi dari Penelepon
Penelepon membalas 200 OK dengan ACK. Pesan kecil ini menutup jabat tangan tiga arah (INVITE, 200 OK, ACK) dan menandakan bahwa penelepon sudah menerima jawaban, sehingga sesi siap dipakai.
ACK mudah terlupakan, padahal sering jadi sumber masalah. ACK untuk 200 OK dikirim langsung ke alamat di header Contact. Jika penerima tidak pernah menerima ACK, ia terus mengirim ulang 200 OK, dan setelah sekitar 32 detik sesi dianggap gagal lalu ditutup dengan BYE.
Penyebab yang umum adalah Contact berisi alamat IP privat di belakang NAT, sehingga ACK tidak pernah sampai. Gejalanya khas: panggilan terlihat dijawab, lalu putus sendiri kira-kira setengah menit kemudian.
5. Percakapan Berlangsung: RTP Mengambil Alih
Setelah ACK, suara mengalir lewat RTP langsung ke IP dan port yang sudah disepakati di SDP. SIP tidak membawa suara sama sekali. Ia hanya siaga untuk mengurus perubahan di tengah panggilan.
Perubahan itu dikirim lewat INVITE kedua dengan Call-ID yang sama, disebut re-INVITE. Contohnya menahan panggilan (hold) atau mengganti codec, dan pesannya membawa SDP baru.
Karena pensinyalan dan suara berjalan terpisah, sebuah panggilan bisa sukses di SIP tetapi tanpa suara bila RTP terblokir. Log SIP tampak normal, jadi yang perlu dicek adalah IP dan port di SDP serta aturan firewall.
6. BYE dan 200 OK: Mengakhiri Panggilan
Pihak yang menutup telepon lebih dulu mengirim BYE, baik penelepon maupun penerima. BYE dikirim di dalam dialog yang sama (Call-ID dan tag tidak berubah) dengan nomor CSeq yang baru. Pihak lawan membalas 200 OK, dan sesi selesai. Berbeda dengan INVITE, BYE tidak memerlukan ACK.
Setelah itu RTP berhenti dan sumber daya panggilan dilepas, termasuk channel yang tadi terpakai. Konsep channel dijelaskan di Apa sih Bedanya Channel dan Concurrent Call?.
Jika BYE tidak pernah sampai, sistem bisa menganggap panggilan masih aktif. Akibatnya muncul stuck call: channel tetap terpakai dan durasi yang tercatat terus bertambah.
Kalau Tidak Mulus: CANCEL dan Kode Gagal
Tidak semua INVITE berakhir dengan 200 OK. Ada dua jalur lain yang perlu kamu kenali.
CANCEL dipakai penelepon yang menutup sebelum panggilan dijawab. Aturannya sederhana: sebelum 200 OK memakai CANCEL, sesudahnya memakai BYE. Urutannya CANCEL, 200 OK untuk CANCEL, lalu 487 Request Terminated untuk INVITE, yang dibalas ACK.
Respons gagal (4xx, 5xx, 6xx) menolak INVITE dan umumnya muncul sebelum telepon sempat berdering. Penelepon membalasnya dengan ACK.
|
Kelompok |
Contoh |
Artinya |
|
401 / 407 |
Proxy Authentication Required | Server meminta autentikasi. INVITE dikirim ulang dengan kredensial |
|
4xx |
403 Forbidden, 404 Not Found, 486 Busy Here, 408 Request Timeout | Permintaan ditolak, nomor tidak ditemukan, tujuan sibuk, atau tidak ada respons |
|
5xx |
503 Service Unavailable | Masalah di sisi server, misalnya kelebihan beban atau trunk tidak tersedia |
|
6xx |
603 Decline | Penerima menolak panggilan |
Pada layanan SIP Trunk, 403 atau 407 sering berkaitan dengan metode autentikasi yang belum cocok. Pembahasannya ada di Registrasi atau IP Auth?.
Membaca Tahapan Saat Troubleshooting
Dengan memahami urutan pesan, gejala di lapangan bisa dipetakan ke tahap yang bermasalah.
|
Gejala |
Tahap yang bermasalah |
Periksa dulu |
| Gagal seketika, telepon tujuan tidak berdering | Respons 4xx, 5xx, atau 6xx setelah INVITE | Baca kodenya (403, 404, 503), lalu cek autentikasi dan format nomor tujuan |
| INVITE terkirim berulang, tidak ada balasan | Tidak ada 100 Trying | Alamat server, port, dan firewall yang memblokir SIP |
| 100 Trying muncul, tetapi tidak ada 180 atau 200 OK | Tujuan tidak merespons | Routing nomor tujuan dan status extension |
| Dijawab, lalu putus sendiri sekitar setengah menit | ACK tidak sampai | NAT dan alamat di header Contact |
| Tersambung tetapi tanpa suara atau hanya satu arah | SDP dan RTP, bukan SIP | IP dan port di SDP, NAT, serta aturan firewall untuk RTP |
| Panggilan tidak berakhir, durasi terus berjalan | BYE tidak sampai atau tidak dibalas | Log BYE dan CDR, lalu minta ITSP menelusuri |
Satu Call-ID mengikuti panggilan dari INVITE sampai BYE, jadi ia kunci utama untuk menelusuri satu panggilan di log. Saat melapor ke provider, sertakan Call-ID, waktu kejadian beserta zona waktunya, serta nomor penelepon dan tujuan. Alasannya dibahas di Apa yang Dikerjakan ITSP di Balik Layar?.
Kesimpulan
Panggilan yang berhasil selalu melewati urutan INVITE, jawaban sementara, 200 OK, ACK, percakapan lewat RTP, lalu BYE dan 200 OK. Panggilan yang gagal berhenti di tengah jalan lewat CANCEL atau kode 4xx, 5xx, dan 6xx. Hafalkan urutan ini, dan log SIP berubah dari tumpukan teks menjadi cerita yang bisa dibaca.
Butuh bantuan membaca log SIP atau menghubungkan PBX ke Cloud SIP Trunk? Tim SolusiPBX siap membantu lewat halaman kontak.
Catatan Editor (hapus bagian ini sebelum publish)
Cek duplikasi dilakukan pada 4 November 2026 terhadap blog voipcall.co.id (2 halaman, 18 artikel). Belum ada artikel yang menjelaskan urutan pesan INVITE sampai BYE, SDP offer dan answer, CANCEL, atau arti kode respons, jadi itulah celah yang diisi artikel ini.
Keterbatasan: dua belas artikel lain (keamanan VoIP dan SBC, pemetaan line konvensional ke SIP Trunk, bandwidth, nomor DID ke extension, serta delapan artikel lama 2021 sampai 2025) hanya dinilai dari judul dan ringkasan di halaman blog, bukan dibaca penuh. Pencarian situs lewat mesin pencari juga tidak mengembalikan halaman voipcall.co.id, sehingga halaman statis seperti Cloud PBX dan SIP Trunk tidak diperiksa isinya.
Leave a Reply