Voice sedang ditingkatkan

Sistem telepon Anda, terhubung ke jaringan telepon.

Trunk SIP menghubungkan PBX atau softphone Anda ke Bird, dan Bird merutekan setiap panggilan melalui carrier ke jaringan telepon publik. Panggilan yang Anda lakukan dan panggilan yang masuk ke nomor Anda tercatat dalam satu catatan yang sama.

place-call.ts
201 · 0.4s
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({
  apiKey: process.env.BIRD_API_KEY!,
});

for await (const call of bird.voice.list({ direction: "outbound" })) {
  console.log(call.id, call.status, call.to);
}

Bird Verify

+1 (500) 555-0010

Yourverificationcodeisfourtwonineoneseven.

Setiap panggilan, tercatat.

Baca setiap panggilan dari bahasa pemrograman yang sudah Anda gunakan.

API panggilan publik bersifat read-only: daftar panggilan dalam workspace dan ambil satu berdasarkan id. Panggilan dilakukan oleh sistem telepon Anda melalui trunk, bukan oleh permintaan API.

1
2
3

Pengaturan berada di CLI.

CLI dan MCP, bukan REST atau SDK.

bird voice trunks mengelola trunk SIP workspace, bird voice numbers nomor yang dapat menjawab panggilan, dan bird voice destinations negara tujuan yang boleh dipanggil. bird voice caller-ids membaca caller ID beserta status verifikasinya, dan bird voice stats membaca data agregat. Server MCP yang di-host mengekspos operasi yang sama sebagai tools, sehingga agen menjalankan pengaturan dengan antarmuka yang sudah dipahaminya.

Sepuluh bagian dari pengaturan voice yang berfungsi.

Trunking, penjawaban nomor, serta catatan dan event yang mengikuti setiap panggilan.

  1. 01

    Trunk SIP yang Anda kendalikan

    Sistem telepon Anda terhubung melalui trunk dengan alamat, kredensial, dan rentang IP yang diizinkan.

  2. 02

    Panggilan keluar melalui SIP

    PBX Anda mengirim SIP INVITE ke domain SIP trunk, dan Bird merutekan panggilan ke carrier.

  3. 03

    Pemeriksaan sebelum carrier dihubungi

    Bird membaca caller ID, negara tujuan, batas, dan saldo wallet terlebih dahulu, lalu menolak panggilan yang gagal sebelum carrier dilibatkan.

  4. 04

    Panggilan masuk ke nomor yang Anda miliki

    Sebuah nomor mengirim panggilan ke salah satu trunk Anda, meneruskan ke nomor yang telah Anda verifikasi, atau menolak. Setiap nomor dimulai dengan status reject.

  5. 05

    Panggilan pertama tanpa instalasi apa pun

    Telepon di dashboard melakukan panggilan dari browser melalui trunk Anda sendiri, menggunakan kredensial sesi sementara.

  6. 06

    Klien SIP apa pun

    PBX, softphone desktop, dan alat command-line, dengan konfigurasi lengkap untuk Asterisk, FreePBX, Zoiper, dan baresip.

  7. 07

    Tujuan yang Anda aktifkan

    Panggilan ke negara yang belum diaktifkan workspace ditolak dengan destination_not_enabled sebelum mencapai carrier.

  8. 08

    Caller ID terverifikasi

    Tampilkan nomor yang telah Anda verifikasi sebagai caller, atau teruskan panggilan masuk ke nomor tersebut.

  9. 09

    Catatan untuk setiap panggilan

    Status, durasi, dan biaya pada setiap panggilan, serta alasan spesifik pada setiap penolakan.

  10. 10

    Panggilan dan event melalui API

    listVoiceCalls dan getVoiceCall membaca catatan panggilan, serta voice_call.initiated, answered, dan ended dikirim sebagai webhook.

Mengapa kami membangun Voice

Voice yang sesuai dengan sistem telepon yang sudah Anda jalankan.

Bird menghubungkan PBX atau softphone Anda melalui trunk SIP dan merutekan setiap panggilan ke jaringan telepon. Catatan dan event yang mengikuti menggunakan envelope yang sama dengan setiap channel Bird lainnya, sehingga antarmuka operasionalnya sudah Anda kenal.

place-call.ts
201 · 0.4s
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({
  apiKey: process.env.BIRD_API_KEY!,
});

for await (const call of bird.voice.list({ direction: "outbound" })) {
  console.log(call.id, call.status, call.to);
}

Tiga event, pada setiap panggilan.

Setiap event membawa field identitas panggilan yang sama, sehingga konsumer dapat mengikuti panggilan dari dering pertama hingga hasilnya.

POST /webhooks/bird
signed

Bird mengirim setiap event minimal satu kali, sehingga event initiated sebuah panggilan bisa terulang saat signaling retry memutar ulang. Deduplikasi berdasarkan webhook-id.

  • voice_call.initiatedBird menerima INVITE dan mulai merutekan.
  • voice_call.answeredPenerima menjawab dan waktu yang ditagih dimulai. Panggilan yang tidak dijawab tidak menghasilkan event ini.
  • voice_call.endedPanggilan selesai, dan payload menambahkan cara panggilan berakhir: answered, no_answer, failed, rejected, atau unknown.

Baca data panggilan dengan cara yang sama seperti membaca pesan.

Dua operasi panggilan publik menggunakan autentikasi dan respons kesalahan yang sama dengan setiap resource Bird lainnya.

Daftar panggilan.

voice.list

Telusuri halaman demi halaman panggilan di workspace, difilter berdasarkan status, arah, trunk, atau nomor.

Baca satu panggilan.

voice.get

Ambil data panggilan kapan saja selama masa hidupnya. Durasi, waktu yang ditagih, dan biaya terisi setelah panggilan berakhir.

Per menit, tergantung negara.

Setiap tujuan yang dapat dihubungi Bird memiliki tarif per menit yang dipublikasikan.

Kirim permintaan pertama Anda sebelum menulis kode apa pun.

Seluruh API publik tersedia sebagai koleksi Postman, dikonversi dari spesifikasi OpenAPI yang sama dengan yang digunakan untuk menghasilkan SDK, lengkap dengan contoh permintaan dan respons di setiap endpoint. Fork ke workspace Anda sendiri, atur kunci API, dan kirim permintaan langsung.

Terapkan dalam praktik.

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.

Dapatkan ringkasan implementasi

Mulai dengan satu channel.
Tambahkan yang lain saat Anda siap.

API key uji coba langsung tersedia untuk Anda. Akses produksi terbuka setelah Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Menggunakan Claude Code, Cursor, atau Codex? Salin prompt pengaturan dan agen Anda akan menginstal Bird CLI dan skill untuk Anda. Pilih milik Anda:

Cursor