JavaScript용 Azure Communication Call Automation 클라이언트 라이브러리 - 버전 1.3.0
이 패키지에는 Azure Communication Call Automation용 JavaScript SDK가 포함되어 있습니다. 호출 자동화는 개발자에게 서버 기반의 지능형 통화 워크플로를 빌드하고 음성 및 PSTN 채널에 대한 통화 녹음/녹화 기능을 제공합니다.
시작
필수 구성 요소
- Azure 구독.
- 기존 Communication Services 리소스입니다. 리소스를 만들어야 하는 경우
Azure Portal ,Azure PowerShell 또는 azure CLI사용할 수 있습니다.
설치
npm install @azure/communication-call-automation
브라우저 지원
JavaScript 번들
브라우저에서 이 클라이언트 라이브러리를 사용하려면 먼저 번들러를 사용해야 합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 번들링 설명서참조하세요.
주요 개념
이름 | 묘사 |
---|---|
CallAutomationClient |
CallAutomationClient 이 클라이언트 라이브러리를 사용하는 개발자를 위한 기본 인터페이스입니다.
createCall 또는 answerCall 호출을 시작하는 데 사용할 수 있습니다. |
CallConnection |
CallConnection 진행 중인 호출을 나타냅니다.
createCall 또는 answerCall 호출이 설정되면 transfer 또는 addParticipant 같은 호출에 대한 추가 작업을 수행할 수 있습니다. |
CallMedia |
CallMedia
play 같은 미디어 관련 작업을 수행하여 미디어 파일을 재생하는 데 사용할 수 있습니다. 설정된 CallConnection 검색할 수 있습니다. |
CallRecording |
CallRecording
startRecording 같은 관련 작업을 기록하는 데 사용할 수 있습니다.
CallAutomationClient 검색할 수 있습니다. |
콜백 이벤트 | 콜백 이벤트는 호출 중에 다시 전송되는 이벤트입니다.
CallConnected 같은 호출의 정보 및 상태를 제공합니다.
createCall
answerCall 동안 CallbackUrl 제공해야 하며 콜백 이벤트는 이 URL로 전송됩니다.
callAutomationEventParser 사용하여 이러한 이벤트가 도착하면 구문 분석할 수 있습니다. |
수신 호출 이벤트 | 수신 호출이 발생하면(answerCall 응답할 수 있음) 수신 호출 eventgrid 이벤트가 전송됩니다. 이는 위의 콜백 이벤트와 다르며 Azure Portal에서 설정해야 합니다. 자세한 내용은 수신 통화 참조하세요. |
CallAutomationEventProcessor |
CallAutomationEventProcessor
CallConnected 같은 콜백 중간 이벤트를 처리하는 편리한 방법입니다. 이렇게 하면 호출과 이벤트 간의 상관 관계가 더 쉽게 보장됩니다. 사용법은 아래 예제를 참조하세요. |
예제
CallAutomationClient 초기화
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);
통화 만들기
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);
미디어 재생
// 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);
Mid-Connection 콜백 이벤트 처리
중간 연결 이벤트를 쉽게 처리하기 위해 Call Automation의 SDK는 이러한 이벤트를 보다 쉽게 처리할 수 있는 방법을 제공합니다. CallAutomationEventProcessor를 살펴보세요. 이렇게 하면 호출과 이벤트 간의 상관 관계가 더 쉽게 보장됩니다.
const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);
EventProcessor가 작동하려면 ProcessEvents가 필요합니다. EventProcessor에서 이벤트를 사용한 후 해당 기능을 사용할 수 있습니다.
아래 예제를 참조하세요. CreateCall을 사용하여 호출하는 위치와 통화의 CallConnected 이벤트를 기다립니다.
// 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!;
}
문제 해결
다음 단계
- 호출 자동화 개요
- 수신 통화 개념
- 통화 자동화 사용하여 고객 상호 작용 워크플로 빌드
- 호출 자동화 사용하여 인바운드 전화 통신 호출 리디렉션
- 빠른 시작: 작업 재생
- 빠른 시작: 작업 인식
- Azure Communication Services 통화 기록에 대해 자세히 알아보세요.
- Event Grid 사용하여 통화 기록 및 다운로드
기여
이 라이브러리에 기여하려면 기여 가이드 읽어 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
Azure SDK for JavaScript