Aracılığıyla paylaş


JavaScript için Azure İletişim Çağrı Otomasyonu istemci kitaplığı - sürüm 1.2.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ı arama iş akışları ve ses ve PSTN kanalları için çağrı kaydı oluşturma olanağı sağlar.

Çağrı Otomasyonuna | Genel BakışÜrün belgeleri

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ütfen paketleme belgelerimize bakın.

Önemli kavramlar

Ad Açıklama
CallAutomationClient CallAutomationClient , bu istemci kitaplığını kullanan geliştiriciler için birincil arabirimdir. veya answerCalltarafından createCall çağrı başlatmak için kullanılabilir.
CallConnection CallConnection devam eden bir çağrıyı temsil eder. veya ile createCallanswerCallçağrı oluşturulduktan sonra, çağrı için veya addParticipantgibi transfer başka eylemler gerçekleştirilebilir.
CallMedia CallMedia medya dosyasını yürütmek için gibi medyayla ilgili eylemleri playgerçekleştirmek için kullanılabilir. Bu, yerleşik CallConnectioniçinden alınabilir.
CallRecording CallRecording gibi startRecordingilgili eylemleri kaydetmek için kullanılabilir. Bu, içinden CallAutomationClientalınabilir.
Geri Çağırma Olayları Geri çağırma olayları, arama süresince geri gönderilen olaylardır. Çağrının bilgilerini ve durumunu (örneğin CallConnected) 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 Arama Olayı Gelen arama gerçekleştiğinde (ile yanıtlanabilir answerCall), gelen çağrı eventgrid olayı gönderilir. Bu, yukarıdaki Geri Çağırma olaylarından farklıdır ve Azure portal üzerinde ayarlanmalıdır. Ayrıntılı bilgi için bkz . Gelen Arama .
CallAutomationEventProcessor CallAutomationEventProcessor gibi CallConnectedara arama geri çağırma olaylarını işlemenin geçici bir yoludur. Bu, çağrı ve olaylar arasındaki bağıntıyı daha kolay sağlar. Kullanımı için aşağıdaki örniğe bakın.

Örnekler

CallAutomationClient'ı başlatma

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

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

arama İçerik Oluşturucu

import { CommunicationUserIdentifier } from "@azure/communication-common";
import { CallAutomationClient, CallInvite } from '@azure/communication-call-automation';

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

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

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

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

Medya Yürüt

// from callconnection of response above, play media of media file
const myFile: FileSource = { uri: "https://<FILE-SOURCE>/<SOME-FILE>.wav" }
const response = callConnection.getCallMedia().playToAll(myFile);

geri çağırma olaylarını Mid-Connection işleme

Bağlantı ortası olaylarını kolayca işlemek için, Çağrı Otomasyonu SDK'sı bu olayları işlemek için daha kolay bir yol sağlar. CallAutomationEventProcessor'a göz atın. Bu, çağrı ve olaylar arasındaki bağıntıyı daha kolay sağlar.

const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);

EventProcessor'ın çalışması için ProcessEvents gereklidir. Olay EventProcessor tarafından tüketildikten sonra özelliğini kullanmaya başlayabilirsiniz.

Örneğin aşağıdakine bakın: CreateCall ile çağrı yaptığınız yer ve çağrının CallConnected olayını beklemeniz.

// send out the invitation, creating call
const callInvite = new CallInvite(target);
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";
const callResult = callAutomationClient.createCall(callInvite, callbackUrl);

// giving 30 seconds timeout for waiting on createCall's event, 'CallConnected'
const createCallEventResult : CreateCallEventResult = await callResult.waitForEventProcessor(undefined, 30000);
// once this returns, call is now established!

// check if it was successful
if (createCallEventResult.isSuccess)
{
  // work with callConnected event
  const callConnectedEvent : CallConnected = createCallEventResult.successResult!;
}

Sorun giderme

Sonraki adımlar

Katkıda bulunma

Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.