
Sejak 3CX V20 Update 8, sistem 3CX mendukung panggilan suara masuk (inbound call) dari WhatsApp, sebagai perluasan dari integrasi WhatsApp yang sebelumnya hanya mendukung pesan teks (chat).
Dengan fitur ini, nomor WhatsApp bisnis Anda dapat didaftarkan sebagai SIP Trunk di 3CX, sehingga panggilan suara yang masuk melalui WhatsApp bisa dirutekan langsung ke:
- Extension (nomor internal staf)
- Antrean panggilan (Queue)
- IVR / Digital Receptionist
- AI Agent
Catatan penting: Saat ini fitur ini hanya mendukung panggilan masuk (inbound) dari WhatsApp ke 3CX. Panggilan keluar (outbound) dari 3CX ke WhatsApp belum didukung.
Prasyarat #
Sebelum memulai, pastikan Anda sudah memiliki:
- WhatsApp Application yang aktif (Live) di Meta for Developers Portal, lengkap dengan izin (permission) messaging untuk nomor bisnis yang ingin diaktifkan.
- Phone Number ID dan User Access Token dari nomor WhatsApp tersebut.
- Jika WhatsApp Messaging sudah aktif di 3CX Anda, kedua data ini bisa didapatkan langsung dari Admin Console → Voice & Chat → [Trunk WhatsApp Messaging Anda].
- Jika belum pernah mengaktifkan WhatsApp di 3CX, ikuti terlebih dahulu panduan Configuring WhatsApp untuk mendapatkan Phone Number ID dan User Access Token.
- Aplikasi pihak ketiga seperti Postman, karena pengaktifan SIP saat ini belum tersedia melalui portal UI Meta — prosesnya harus dilakukan melalui permintaan (request) ke Graph API Meta.
Untuk multi-nomor: Jika Anda ingin mengintegrasikan lebih dari satu nomor WhatsApp, setiap nomor harus memiliki WhatsApp Application-nya sendiri di Meta for Developers, dan seluruh langkah di panduan ini harus diulang untuk masing-masing nomor.
Langkah 1 — Membuat WhatsApp Application #
- Jika WhatsApp Messaging sudah dikonfigurasi di 3CX Anda, lewati langkah ini dan ambil Phone Number ID serta User Access Token dari: Admin Console → Voice & Chat → Trunk WhatsApp Messaging Anda
- Jika belum, ikuti panduan WhatsApp Integration Guide untuk membuat aplikasi dan mendapatkan kedua data tersebut.
Langkah 2 — Mengaktifkan SIP pada Nomor WhatsApp #
Kirim permintaan POST berikut ke Graph API Meta menggunakan curl atau Postman.
curl -X POST "https://graph.facebook.com/v24.0/<PHONE_NUMBER_ID>/settings" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"calling": {
"status": "ENABLED",
"callback_permission_status": "ENABLED",
"call_icon_visibility": "DEFAULT",
"srtp_key_exchange_protocol": "SDES",
"sip": {
"status": "ENABLED",
"servers": [
{
"hostname": "<YOUR_3CX_FQDN>",
"port": <YOUR_SIPS_PORT>
}
]
}
}
}'
Ganti bagian berikut sesuai data Anda:
| Placeholder | Keterangan |
|---|---|
<PHONE_NUMBER_ID> | Phone Number ID dari Langkah 1 |
<YOUR_ACCESS_TOKEN> | User Access Token dari Langkah 1 |
<YOUR_3CX_FQDN> | FQDN PBX 3CX Anda, contoh: mypbx.3cx.com |
<YOUR_SIPS_PORT> | Biasanya 5061 jika PBX menggunakan port default |
Jika permintaan berhasil, Anda akan menerima respons:
{"success":true}
Anda juga bisa mengimpor perintah curl di atas langsung ke Postman melalui menu File → Import.
Langkah 3 — Memverifikasi Konfigurasi SIP #
Kirim permintaan GET berikut untuk memastikan konfigurasi SIP sudah benar:
curl -X GET "https://graph.facebook.com/v17.0/<PHONE_NUMBER_ID>/settings?fields=calling&include_sip_credentials=true" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
Contoh respons jika berhasil:
{
"calling": {
"status": "ENABLED",
"call_icon_visibility": "DEFAULT",
"callback_permission_status": "ENABLED",
"srtp_key_exchange_protocol": "SDES",
"sip": {
"status": "ENABLED",
"servers": [
{
"app_id": 112233445566778,
"hostname": "pbx.3cx-example.com",
"port": 5061,
"sip_user_password": "aabbccddeeffgghhiijjkkllmmnnoopp"
}
]
}
},
"storage_configuration": {
"status": "DEFAULT"
}
}
Langkah 4 — Mengaktifkan Pengaturan Panggilan di WhatsApp Business Manager #
- Buka WhatsApp Business Manager.
- Klik Phone Numbers, lalu pilih nomor WhatsApp Anda.
- Jika menu Phone Numbers tidak terlihat, klik All tools terlebih dahulu.
- Buka tab Call Settings, lalu pastikan opsi berikut sudah diaktifkan:
- ✅ Allow voice calls
- ✅ Allow callbacks
- ✅ Display call buttons
Langkah 5 — Membuat SIP Trunk di 3CX #
- Unduh template WhatsApp yang sudah disediakan 3CX.
- Masuk ke 3CX Admin Console → Admin → Advanced → Templates → Provider Templates.
- Klik tombol Import Provider, pilih file template yang sudah diunduh, lalu klik Import.
- Lengkapi konfigurasi berikut:
- Name — beri nama untuk SIP Trunk WhatsApp baru Anda.
- Default route — tentukan tujuan default untuk panggilan WhatsApp masuk (extension/queue/IVR/AI Agent).
- Uncheck opsi Create an outbound rule (karena fitur ini hanya untuk panggilan masuk).
- Main Trunk Number — isi dengan nomor WhatsApp Anda.
- Biarkan kolom lainnya menggunakan nilai default.
- Klik Save.
Setelah tersimpan, sistem 3CX Anda akan siap menerima panggilan masuk dari nomor WhatsApp tersebut dan meneruskannya ke tujuan yang telah Anda tentukan.
Alternatif: Membuat SIP Trunk Generik Secara Manual #
Jika Anda memilih untuk tidak menggunakan template, Anda dapat membuat Generic SIP Trunk secara manual dengan konfigurasi berikut:
| Pengaturan | Nilai |
|---|---|
| Authentication Type | IP-based |
| Host | wa.meta.vc |
| Port | Auto discovery |
| Transport Protocol | TLS |
| SRTP Mode | Enforced |
| Codecs | OPUS |
Ringkasan Alur #
Panggilan WhatsApp Masuk
│
â–¼
SIP Trunk WhatsApp (3CX)
│
â–¼
Extension / Queue / IVR / AI Agent
Pertanyaan Umum (FAQ) #
Q: Apakah saya bisa melakukan panggilan keluar (outbound) ke WhatsApp dari 3CX?
A: Belum. Saat ini implementasi hanya mendukung panggilan masuk dari WhatsApp ke 3CX.
Q: Bisakah saya mengaktifkan SIP langsung dari dashboard Meta?
A: Belum bisa. Pengaktifan SIP saat ini hanya dapat dilakukan melalui permintaan API (misalnya menggunakan Postman), bukan melalui antarmuka portal Meta.
Q: Bagaimana jika saya punya lebih dari satu nomor WhatsApp bisnis?
A: Setiap nomor WhatsApp harus memiliki WhatsApp Application terpisah di Meta for Developers, dan seluruh proses (Langkah 1–5) harus diulang untuk masing-masing nomor.
