LoginSignup
0
0

More than 1 year has passed since last update.

Amazon Connect 로 아웃바운드콜 전화하기

Last updated at Posted at 2022-03-04

amazon-connect.png

TL;DR

Slack 장애 발생을 전화로 전달받고 싶었습니다.
Amazon Connect의 OutBoundCall(아웃바운드콜) 을 활용해서 구현해보았습니다.
전체 과정에서 Lambda > Amazon Connect > Phone 부분을 기록하였습니다.

Amazon Connect 설정

Amazon Connect > 인스턴스 추가
image.png
(고유의) 액세스 URL을 지정 (예: betahelloworld) > 다음
image.png
※ 액세스 URL이 고유값이 아니면 최종 단계에서 인스턴스가 추가되지 않습니다. (예: helloworld 경우)
image.png
텔레포니 설정 > 발신 통화 허용만 체크 > 다음
image.png
관리자 정보 입력 > 다음 > 데이터 스토리지 > 다음 > 인스턴스 생성
image.png
image.png
image.png
배너확인 : betahelloworld 인스턴스 설정 중 (5분 내외 소요됩니다) > 성공! > 액세스 URL 클릭
image.png
image.png
Amazon Connect 인스턴스가 생성되었습니다. 인스턴스의 설정이 필요합니다.

액세스 URL (예: https://betahelloworld.my.connect.aws) > 로그인 > 언어 변경 (한국어)
image.png
image.png
대시보드 > 1. 통신 채널 탐색 > 시작
image.png
국가 : 미국, 유형 : DID, 전화번호 : 택1 > 다음 > Continue
image.png
image.png

고객 응대 흐름 (전화 워크플로우) 를 생성합니다.
대시보드 > 라우팅 > 고객 응대 흐름 > 고객 응대 흐름 생성
image.png
image.png
음성설정, 재생 프롬프트, 연결 해제 를 추가합니다.

설정 > 음성설정 추가 (드래그앤드랍)
image.png
image.png
상호 작용 > 재생 프롬프트
image.png
종료/전송 > 연결 해제
image.png
총 4단계인데요.
각 단계별로 연결해줍니다. (아래 그림처럼 마우스를 가져가면 선으로 연결할 수 있습니다)
image.png
image.png
음성 설정 클릭 > 언어 : 한국어, 음성 : Seoyeon > Slave
image.png
재생 프롬프트 클릭 > 텍스트 투 스피치 또는 채팅 텍스트 > 텍스트 입력 > Save
image.png
고객 응대 흐름 이름 입력 (예: lambda to my phone) > 저장 > 게시
image.png
image.png
아마존 커넥트 설정 끝났습니다.

lambda 설정

lambda 하나를 생성합니다.
(예: send-to-amazon-connect-flex-v20220304, 런타임 : Node.js 14.x)
image.png
코드 작성
image.png

const AWS = require('aws-sdk');
var connect = new AWS.Connect();

exports.handler = (event, context, callback) => {
    //define parameter values to use in initiating the outbound call

    var params = {
        ContactFlowId: "3fae2ea0-4d77-4000-859d-1234567890", // 고유값. 아래 참조
        DestinationPhoneNumber: "+821012341234", // 수신자 전화 번호
        InstanceId: "49a9ba9c-cda0-4637-93d9-82f1234567890", // 고유값. 아래 참조
        SourcePhoneNumber: "+13348101880" // 아마존 커넥트에서 발급 받은 미국 전화번호
    };

    // method used to initiate the outbound call from Amazon Connect
    connect.startOutboundVoiceContact(params, function(err, data) {
        if (err) console.log(err, err.stack) ;
        else console.log(data);
    });

    callback(null, event);

};

고객 응대 흐름 (예: lambda to my phone) > 우측 마우스 > 링크 주소 복사 > ContactFlowId, InstanceId 확인 및 코드 복붙

https://betahelloworld.my.connect.aws/contact-flows/edit?id=arn:aws:connect:ap-northeast-2:385423560848:instance/<InstanceId>/contact-flow/<ContactFlowId>

image.png

람다에서 아마존 커넥트를 실행하려면 추가로 권한 추가가 필요합니다. connect:StartOutboundVoiceContact
람다 > 구성 > 권한 > 역할 이름 클릭
image.png
권한 추가 > 인라인 정책 생성 > JSON > 정책 검토 > 이름 입력 (예: using-amazon-connect) > 정책 생성 > 정책 추가됨 확인
image.png
image.png

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "connect:StartOutboundVoiceContact",
            "Resource": "*"
        }
    ]
}

image.png
image.png

이제 람다 설정도 모두 완료되었습니다.
코드 > Test > Execution results 확인 > 정상 로그 확인 > 전화옴 ㅋㅋ
image.png

결과화면

참고

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0