Bagikan melalui


Pustaka klien Azure Communication Call Automation untuk JavaScript - versi 1.5.0

Paket ini berisi JavaScript SDK untuk Azure Communication Call Automation. Automasi Panggilan memberi pengembang kemampuan untuk membangun alur kerja panggilan cerdas berbasis server, dan perekaman panggilan untuk saluran suara dan PSTN.

Gambaran Umum Automasi Panggilan | Dokumentasi produk

Persiapan

Prasyarat

Menginstal

npm install @azure/communication-call-automation

Dukungan browser

Bundel JavaScript

Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.

Konsep utama

Nama Deskripsi
CallAutomationClient CallAutomationClient adalah antarmuka utama untuk pengembang yang menggunakan pustaka klien ini. Ini dapat digunakan untuk memulai panggilan dengan createCall atau answerCall.
Koneksi Panggilan CallConnection mewakili panggilan yang sedang berlangsung. Setelah panggilan dibuat dengan createCall atau answerCall, tindakan lebih lanjut dapat dilakukan untuk panggilan, seperti transfer atau addParticipant.
Media Panggilan CallMedia dapat digunakan untuk melakukan tindakan terkait media, seperti play, untuk memutar file media. Ini dapat diambil dari CallConnectionyang ditetapkan.
Perekaman Panggilan CallRecording dapat digunakan untuk melakukan perekaman tindakan terkait, seperti startRecording. Ini dapat diambil dari CallAutomationClient.
Acara Callback Peristiwa panggilan balik adalah peristiwa yang dikirim kembali selama durasi panggilan. Ini memberikan informasi dan status panggilan, seperti CallConnected. CallbackUrl harus disediakan selama createCall dan answerCall, dan acara callback akan dikirim ke URL ini. Anda dapat menggunakan callAutomationEventParser untuk mengurai peristiwa ini saat tiba.
Acara Panggilan Masuk Ketika panggilan masuk terjadi (yang dapat dijawab dengan answerCall), peristiwa eventgrid panggilan masuk akan dikirim. Ini berbeda dari peristiwa Callback di atas, dan harus disiapkan di portal Microsoft Azure. Lihat Panggilan Masuk untuk detailnya.

Contoh

Menginisialisasi CallAutomationClient

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

Buat Panggilan

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

// target endpoint for ACS User
const target = {
  communicationUserId: "8:acs:...",
};

// make invitation
const callInvite = {
  targetParticipant: target,
};

// callback url to receive callback events
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

// send out the invitation, creating call
const response = await callAutomationClient.createCall(callInvite, callbackUrl);

Putar Media

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient, FileSource } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

const target = { communicationUserId: "8:acs:..." };
const callInvite = { targetParticipant: target };
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

const createCallResult = await callAutomationClient.createCall(callInvite, callbackUrl);
const callConnection = createCallResult.callConnection;
// from callconnection of response above, play media of media file
const myFile: FileSource = { url: "https://<FILE-SOURCE>/<SOME-FILE>.wav", kind: "fileSource" };
const response = await callConnection.getCallMedia().playToAll([myFile]);

Pemecahan masalah

Pencatatan/penebangan.

Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Langkah berikutnya

Berkontribusi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.