Aracılığıyla paylaş


JavaScript için Azure İletişim Çağrısı Otomasyonu istemci kitaplığı - sürüm 1.5.0

Bu paket, Azure İletişim Çağrısı Otomasyonu için bir JavaScript SDK'sı içerir. Çağrı Otomasyonu, geliştiricilere sunucu tabanlı, akıllı çağrı iş akışları oluşturma ve ses ve PSTN kanalları için çağrı kaydı oluşturma olanağı sağlar.

Call Automation | Ürün belgelerine genel bakış

Başlarken

Önkoşullar

Yükleme

npm install @azure/communication-call-automation

Tarayıcı desteği

JavaScript Paketi

Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfenpaketleme belgelerimize bakın.

Temel kavramlar

Ad Açıklama
CallAutomationClient CallAutomationClient, bu istemci kitaplığını kullanan geliştiriciler için birincil arabirimdir. createCall veya answerCalltarafından çağrı başlatmak için kullanılabilir.
Çağrı Bağlantısı CallConnection devam eden bir çağrıyı temsil eder. çağrı createCall veya answerCallile oluşturulduktan sonra, çağrı için transfer veya addParticipantgibi başka eylemler gerçekleştirilebilir.
Çağrı Medyası CallMedia, medya dosyasını yürütmek için playgibi medyayla ilgili eylemleri gerçekleştirmek için kullanılabilir. Bu, CallConnectionkurulan içinden alınabilir.
Çağrı Kaydı CallRecording startRecordinggibi ilgili eylemleri kaydetmek için kullanılabilir. Bu, CallAutomationClient'den alınabilir.
Geri Arama Etkinlikleri Geri arama olayları, arama süresi boyunca geri gönderilen olaylardır. Gibi CallConnectedaramanın bilgilerini ve durumunu verir. CallbackUrlve answerCallsırasında createCall sağlanmalıdır ve geri çağırma olayları bu URL'ye gönderilir. Geldiğinde bu olayları ayrıştırmak için kullanabilirsiniz callAutomationEventParser .
Gelen Çağrı Olayı Gelen çağrı gerçekleştiğinde ( ile cevaplanabilir answerCall), gelen çağrı eventgrid olayı gönderilir. Bu, yukarıdaki Geri Arama olaylarından farklıdır ve Azure portal ayarlanmalıdır. Ayrıntılar için Gelen Arama'ya bakın.

Örnekler

CallAutomationClient'ı başlatma

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);

Arama Oluştur

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);

Medya Yürütme

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]);

Sorun giderme

Ağaç kesme

Günlüğe kaydetmeyi etkinleştirmek, hatalarla ilgili yararlı bilgilerin ortaya çıkmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için AZURE_LOG_LEVEL ortam değişkenini infoolarak ayarlayın. Alternatif olarak, setLogLevel@azure/logger çağrılarak günlükler çalışma zamanında etkinleştirilebilir:

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

setLogLevel("info");

Sonraki adımlar

Katkıda

Bu kitaplığa katkıda bulunmak istiyorsanız kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzu okuyun.